メソッド each & イテレータ
イテレータ (Iterator) とは、プログラミング言語において配列やそれに類似するデータ構造の各要素に対する繰返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。反復するためのものの意味で反復子(はんぷくし)と訳される。繰返子(くりかえし)という妙訳もある。
詳細:イテレータ-Wikipedia
accesaries = ['Pearl', 'Sapphire', 'Diamond'] accesaries.each do |acce| puts 'わたしは' + acce + 'が好きです!' puts 'あなたはいかが?' end puts 'もっちろん Rubyが好きです' puts 'うふふふ'
moomin:programmingRuby tomomi$ ruby array.rb わたしはPearlが好きです! あなたはいかが? わたしはSapphireが好きです! あなたはいかが? わたしはDiamondが好きです! あなたはいかが? もっちろん Rubyが好きです うふふふ
- 翻訳すると
- 配列 accesariesの中にあるオブジェクト[Pearl, Sapphire, Diamond]それぞれ (.each)を,|acce|という変数に代入し、endまでの間に書いてあるプログラム内容をすべて実行(do)しなさい。そして、puts'もっちろん rubyが好きです'以下を実行する
上述の実行結果は下記コードで同様の結果が得られる。しかし『.each do |ごにょ|』を使うことで簡略化されたすっきりコードになることがわかりますね。.each doがループぽいふるまいをしていることが特徴。
accesaries = ['Pearl', 'Sapphire', 'Diamond'] puts 'わたしは' + accesaries[0] + 'が好きです!' puts 'あなたはいかが?' puts 'わたしは' + accesaries[1] + 'が好きです!' puts 'あなたはいかが?' puts 'わたしは' + accesaries[2] + 'が好きです!' puts 'あなたはいかが?' puts 'もっちろん Rubyが好きです' puts 'うふふふ'