NimのForとIterator
For
以下の例のcountupは組み込みのイテレータ
code:Nim
for i in countup(1, 10):
echo $i
配列やrangeに対して行う場合
code:Nim
for i in 1..10:
echo $i
code:Nim
let a:array1..10, int = 2,4,6,8,10,12,14,16,18,20 for i in a:
echo $i
Iterator
イテレータがfor文の処理でしか呼び出せない
定義の仕方
上のFor文の例のcountup()プロシージャを自作することを考える。
return+continue=yield
procをiteratorに、returnをyieldにしてイテレータを定義する
code:Nim
iterator countup(a, b: int): int =
var res = a
while res <= b:
yield res
inc(res)
関連