Loops D语言中的循环计数器

Loops D语言中的循环计数器,loops,d,Loops,D,在本教程()中,有人评论说,如果foreach支持是由范围成员函数提供的,那么只需从std.range模块中枚举即可实现循环计数器:,并举例说明 import std.range; // ... foreach (i, element; NumberRange(42, 47).enumerate) { writefln("%s: %s", i, element); } 我试图用这个例子来检查枚举,但是我得到了错误错误:对于类型'NumberRange',没有属性'enumerate

在本教程()中,有人评论说,
如果foreach支持是由范围成员函数提供的,那么只需从std.range模块中枚举即可实现循环计数器:
,并举例说明

import std.range;

// ...

foreach (i, element; NumberRange(42, 47).enumerate) {
    writefln("%s: %s", i, element);
}
我试图用这个例子来检查
枚举
,但是我得到了错误
错误:对于类型'NumberRange'
,没有属性'enumerate'。可能有什么问题

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。

在我看到的
retro
变异体也在该教程中使用,但没有一个名为
enumerate
。但另一个版本标记为预发布