イテレータとは

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

イテレータとは、元々は繰り返しという意味ですが、Rubyでは文法構造から、イテレータやブロックという言葉が混同して使われています。
慣れるまではちょっと分かりにくいですが、イテレータやブロックをメソッドに渡す書き方は、Rubyの文法を強力にしていますね。

スポンサーリンク

参考:イテレータ – Wikipedia

簡単なイテレータの例をいくつか見ます。

puts "--- simple iterator"
3.times{|i|
    puts "#{i + 1} time: Say Hello !"
}
 
puts "--- range iterator"
total = 0
(1..10).each{|i|
    print i, ', '
    total += i
}
print "\ntotal: #{total}\n"
 
puts "--- array iterator"
["snake", "monkey", "tiger"].sort.each{|animal|
    puts animal
}
 
puts "--- array iterator"
["snake", "monkey", "tiger"].sort.each_with_index{|animal, index|
    puts "#{index} ---> #{animal}"
}
 
puts "--- hash iterator"
{"s" => "snake", "m" => "monkey", "t" => "tiger"}.each{|key, value|
    puts "#{key} ---> #{value}"
}
 
puts "--- hash iterator"
{"s" => "snake", "m" => "monkey", "t" => "tiger"}.each{|pair|
    puts "#{pair[0]} ---> #{pair[1]}"
}
 

実行結果。

--- simple iterator
1 time: Say Hello !
2 time: Say Hello !
3 time: Say Hello !
--- range iterator
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
total: 55
--- array iterator
monkey
snake
tiger
--- array iterator
0 ---> monkey
1 ---> snake
2 ---> tiger
--- hash iterator
m ---> monkey
s ---> snake
t ---> tiger
--- hash iterator
m ---> monkey
s ---> snake
t ---> tiger
スポンサーリンク
 
スポンサーリンク