d阿里两个函数
我的两个问题:
-新添加到D中的ImportC.
-当按ForwardRange区间与.save()一起用时,操作可能会意外多次运行.
import std.stdio;
import std.algorithm;
import std.range
void main() {
size_t 账号数 = 0;
auto r = iota(5)
.map!((i) {
++账号数;
return i;
})
.slide(2);
writefln("%-(%s%)", r);
writeln("账号数: ", 账号数);
}
上述.slide(2)代表"滑动窗口",本例中用于成对浏览元素.由于元素在0..4范围内,宽度为2的浮动窗口如下显示元素:首先是0和1,然后是1和2,等等.输出为:
[0,1][1,2][2,3][3,4]
账户数:8
但是,运行8个总共5个元素的帐号和4个窗口可能会令人惊讶.
我在写.cached()区间来避免它.通过挤压它,从保存地方开始使用:
auto r = iota(5)
.map!((i) {
++账号数;
return i;
})
.cached //这里
.slide(2);
浙公网安备 33010602011771号