Строковые лямбды - это просто удобство библиотечного уровня, разработанное для того, чтобы быть даже более кратким, чем встроенные литералы функции D / делегат / шаблон D для удобства.Вот что нужно делать, когда вам нужно больше энергии:
Примечание. Следующее должно работать, но может работать некорректно во время записи из-за ошибок компилятора.
import std.algorithm;
void main() {
int max = 3;
int[] arr = [ 1, 2, 3, 4, 5 ];
auto foo = filter!((a) { return a < max; })(arr);
}
На самом деле работает следующее:
import std.algorithm;
void main() {
int max = 3;
int[] arr = [ 1, 2, 3, 4, 5 ];
auto foo = filter!((int a) { return a < max; })(arr);
}
Разница в том, указан ли тип явно.