« 2006年11月30日 | メイン | 2006年12月 2日 » |
このブログを書く四元輝博とジョシュア清水が経営する旅行代理店スカイメリカ
ジョシュア清水 自らが操縦する、日本語でのガイドと会話を楽しみながらハワイ島を巡るセスナの旅
このブログを書く四元輝博と共にスカイメリカを経営するハワイ島在住の日本人パイロット、ジョシュア清水のブログ
スカイメリカの共同経営者、シリコンバレー在住の四元輝博によるIT情報・ベンチャー起業に関するブログ
四元輝博によるに 「組み込みJava による M2Mソリューション」に関する調査レポート・サイト
: 日付別 アーカイブ :
2006年12月 1日
イテレータ(Iterator)とは、プログラミング言語において配列やそれに類似するデータ構造の各要素に対する繰返し処理の抽象化である。 実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。 反復するためのものの意味で反復子(はんぷくし)と訳される。となっている。 また、Rubyリファレンスマニュアル の「イテレータとは何ですか」では
イテレータは制御構造(特にループ)の抽象化のために用いられるメソッド の一種です。と定義付けされている。 Rubyでも繰り返しの記述方法は何通りもあるが、 繰り返したいブロックをメッソドの引数として与える記述が可能である。 そのメソッドのことを「イテレータ」と呼んでいる。
3.times do print "A" endこれは 整数クラスの「3」というオブジェクトの 「times」というメッソドに 「do ... end 」のブロックを引数として与えていることになる。 処理としてはこの場合、「do ... end 」のブロックを3回繰り返すことになる。 これを実行してみると、結果は
AAAとなる。
3.times do |i| print i, " " end前述のスクリプト例との違いは、 ブロックの開始 do の直後に「 |i| 」という このブロックへの引数を受け取るローカル変数「i」の定義があり、 ブロック内では このローカル変数「i」が参照されていること。 この実行結果は
0 1 2となる。
data = [5, 10, 15] data.each do |i| print i, " " endというような記述になり、結果が
5 10 15となる。
カテゴリー: Ruby 22:13 | コメント (0) | トラックバック (0)