d求值两次map
void main()
{
import std.algorithm, std.stdio;
[1,2,3,4,5].
map!((x){
writeln("mapping ", x);
return x;
}).
filter!(x=>x>2).
front.
writeln();
}
map每次调用front时调用lambda.如果想要缓存版本,请使用cache:
void main()
{
import std.algorithm, std.stdio;
[1,2,3,4,5].
map!((x){
writeln("mapping ", x);
return x;
}).
cache. //加上.
filter!(x=>x>2).
front.
writeln();
}
浙公网安备 33010602011771号