D语言循环计数器
Loop counter in D language
在本教程(http://ddili.org/ders/d.en/foreach_opapply.html)中,注释If foreach support is provided by range member functions, then a loop counter can be achieved simply by enumerate from the std.range module:
并附有示例。
import std.range;
// ...
foreach (i, element; NumberRange(42, 47).enumerate) {
writefln("%s: %s", i, element);
}
我尝试使用此示例来检查 enumerate
,但出现错误 Error: no property 'enumerate' for type 'NumberRange'
。可能出了什么问题?
import std.stdio;
import std.range;
void main()
{
foreach (i, element; iota(42, 47).enumerate) {
writefln("%s: %s", i, element);
}
}
enumerate
是在 2.066 发布后添加的。它将在 2.067 中可用。
顺便说一句,您可能知道也可能不知道,但是您可以使用 std.range.iota
而不是 NumberRange。
在本教程(http://ddili.org/ders/d.en/foreach_opapply.html)中,注释If foreach support is provided by range member functions, then a loop counter can be achieved simply by enumerate from the std.range module:
并附有示例。
import std.range;
// ...
foreach (i, element; NumberRange(42, 47).enumerate) {
writefln("%s: %s", i, element);
}
我尝试使用此示例来检查 enumerate
,但出现错误 Error: no property 'enumerate' for type 'NumberRange'
。可能出了什么问题?
import std.stdio;
import std.range;
void main()
{
foreach (i, element; iota(42, 47).enumerate) {
writefln("%s: %s", i, element);
}
}
enumerate
是在 2.066 发布后添加的。它将在 2.067 中可用。
顺便说一句,您可能知道也可能不知道,但是您可以使用 std.range.iota
而不是 NumberRange。