用D语言循环计数器

pro*_*eek 2 loops d

在本教程(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);
}
Run Code Online (Sandbox Code Playgroud)

我试着用这个例子检查一下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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Vla*_*eev 5

enumerate在2.066被释放后添加.它将在2.067中提供.

顺便说一句,您可能会或可能不会意识到这一点,但您可以使用std.range.iota而不是NumberRange.