イテレータとは
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
イテレータとは、元々は繰り返しという意味ですが、Rubyでは文法構造から、イテレータやブロックという言葉が混同して使われています。
慣れるまではちょっと分かりにくいですが、イテレータやブロックをメソッドに渡す書き方は、Rubyの文法を強力にしていますね。
スポンサーリンク
簡単なイテレータの例をいくつか見ます。
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
スポンサーリンク
>> 次の記事 : ファイルをイテレータ処理
<< 前の記事 : yield でイテレータを独自に定義
- - 関連記事 -
- 引数のあるイテレータ
- イテレータ定義で複数の引数をブロックに渡す
- クラス内にイテレータ定義
- イテレータを定義する・まずは未定義のクラスの例
- grepとsort_byメソッド・Enumerableモジュール
- ファイルをイテレータ処理
- yield でイテレータを独自に定義
スポンサーリンク