イテレータとは
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
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 でイテレータを独自に定義
スポンサーリンク