std.algorithm
Этот пакет реализует универсальные алгоритмы, ориентированные на обработку последовательностей. Последовательности, обрабатываемые этими функциями, определяют интерфейсы на основе диапазонов. См. также справочник по диапазонам и учебник по диапазонам.
Алгоритмы разделены на следующие подмодули:
Многие функции в этом пакете параметризованы с помощью предиката. Предикат может быть любым подходящим вызываемым типом (функция, делегат, функтор или лямбда-выражение), или строкой на этапе компиляции. Строка может состоять из любого допустимого выражения D, которое использует символ
a (для унарных функций) или символы a и b (для бинарных функций). Эти имена НЕ будут конфликтовать с другими одноимёнными символами в коде пользователя, потому что они оцениваются в другом контексте. По умолчанию для всех бинарных предикатных сравнений используется "a == b" для неупорядоченных операций и "a < b" для упорядоченных операций. - Пример
int[] a = ...;
static bool greater(int a, int b)
{
return a > b;
}
sort!greater(a); // predicate as alias
sort!((a, b) => a > b)(a); // predicate as a lambda.
sort!"a > b"(a); // predicate as string
// (no ambiguity with array name)
sort(a); // no predicate, "a < b" is implicit
- Лицензия:
- Лицензия Boost 1.0.
- Авторы:
- Andrei Alexandrescu
- Исходный код
- std/algorithm/package.d
© 1999–2021 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/std_algorithm.html