Loops 哪些语言支持带有自动迭代索引的while或do/while循环?

Loops 哪些语言支持带有自动迭代索引的while或do/while循环?,loops,for-loop,language-agnostic,programming-languages,while-loop,Loops,For Loop,Language Agnostic,Programming Languages,While Loop,正如标题所示,哪些语言支持while或do/while循环以及自动迭代索引 换句话说,一个[while]或[do/while]循环,它自动提供迭代索引,而不必求助于本质索引结构,例如[for]循环。对于谷歌来说,这是一个奇怪的问题,它获取了断章取义的结果 以下面的C#为例: int count=0; 同时(计数

正如标题所示,哪些语言支持while或do/while循环以及自动迭代索引

换句话说,一个
[while]
[do/while]
循环,它自动提供迭代索引,而不必求助于本质索引结构,例如
[for]
循环。对于谷歌来说,这是一个奇怪的问题,它获取了断章取义的结果

以下面的C#为例:

int count=0;
同时(计数<10)
{
WriteLine(“这是迭代#{0}”,count++);
}
与以下虚拟循环相反:

while<int> (value < 10)
{
    Console.WriteLine("This is iteration #{0}", value); // Or value-- for that matter.
}
while(值<10)
{
WriteLine(“这是迭代#{0}”,value);//或者value——就这点而言。
}
我不太了解语言设计,因此也不太了解这个问题。
[for]
循环具有很大的灵活性,但每种循环都最适合于某些场景。尽管如此,它还是让某些场景变得非常奇怪,比如将迭代器与索引器相结合

这并不是一个开放的问题。简单地说,有任何语言支持这样的结构吗?如果没有,那么,嗯,在这里不能这样做,因为这将使它成为开放式的

更新:我确实意识到嵌套这样的循环会带来复杂性,但我确信可以通过一些巧妙的命名约定来避免这种复杂性


我有一个想法,但没有提到的是在C#的例子中使用了一个聪明的lambda表达式。这不是对语言的一种补充,而仅仅是一种扩展(我认为它只对反射友好的平台,如.NET和Java有效)。在ruby中:
数组。每个索引{I | print I}
都将遍历每个索引。

从我的记忆中,
DO
<代码>循环第四行中的单词支持这种类型。 获取当前循环的索引的单词是
I
(显然!),而下一个外部循环的索引是
J

因此

将打印:

1 2 3 4 5 6 7 8 9 10 

如果这个问题不适合SO格式,请告知应该在哪里提问。谢谢@AShelly。我会仔细阅读那篇文章。现在,它看起来很像C#中的lambda表达式。它是一种语言结构还是一种语言扩展?我不确定Ruby是否提供反射。至少,它似乎至少在某种程度上支持反射。Ruby确实支持反射。块(大括号中的部分)本质上是一个lambda。块是该语言的核心功能。再次感谢。由于这是一个尴尬的问题,我将等待一两天,然后才能做出正确的答案。
10。times{I | puts“this is iteration{I}”和
100。多达(110){I | puts I}
是更多的Ruby示例。
10 1 DO I . 32 EMIT LOOP NL
1 2 3 4 5 6 7 8 9 10