For语句
for 语句是一个循环遍历迭代器提供的任何元素的构造。示例使用内置的 countup 迭代器:
- echo "Counting to ten: "
- for i in countup(1, 10):
- echo i
- # --> Outputs 1 2 3 4 5 6 7 8 9 10 on different lines
变量 i 通过 for 循环隐式的声明并具有 int 类型, 因为这里 countup 返回的。 i 遍历 1, 2, .., 10,每个值被 echo 。 这段代码作用是一样的:
- echo "Counting to 10: "
- var i = 1
- while i <= 10:
- echo i
- inc(i) # increment i by 1
- # --> Outputs 1 2 3 4 5 6 7 8 9 10 on different lines
倒数可以轻松实现 (但不常需要):
- echo "Counting down from 10 to 1: "
- for i in countdown(10, 1):
- echo i
- # --> Outputs 10 9 8 7 6 5 4 3 2 1 on different lines
计数在程序中经常出现,Nim有一个 .. 迭代器作用是一样的
- for i in 1..10:
- ...
零索引计数有两个简写 ..< 和 ..^ ,为了简化计数到较高索引的前一位。
- for i in 0..<10:
- ... # 0..9
or
- var s = "some string"
- for i in 0..<s.len:
- ...
其它有用的迭代器(如数组和序列)是
- items 和 mitems ,提供不可改变和可改变元素,
- pairs 和 mpairs 提供元素和索引数字。
- for index, item in ["a","b"].pairs:
- echo item, " at index ", index
- # => a at index 0
- # => b at index 1