我有應該組輸入線成大小3.Dlang byLineCopy跳過線
import std.stdio;
import std.range;
import std.array;
void main()
{
while (!stdin.eof) {
auto currentBlock = array(take(stdin.byLineCopy, 3));
foreach (i, e; currentBlock) {
writefln("%d) %s", i, e);
}
}
}
的基團並給予下述的輸入
Mercury
Venus
Earth
Mars
Jupiter
Saturn
Uranus
Neptune
Pluto
它產生的輸出以下d程序。
0) Mercury
1) Venus
2) Earth
0) Jupiter
1) Saturn
2) Uranus
0) Pluto
在每次迭代時在邊界上跳過線(火星和海王星不在輸出中)。我究竟做錯了什麼?
對於我來說,hm好像是一個bug函數。如果你想同時使用其他函數來實現同樣的功能,可以使用'.chunks(3)',它返回3個長度範圍的範圍。 – WebFreak001
@ WebFreak001'chunks'不適用於我。看來'byLineCopy'返回一個'InputRange','chunks'需要一個'ForwardRange'。 –