2010年06月21日

Ruby イテレーター

イテレーターとは?


繰り返しのtimesやeachなどです。

環境


ruby1.8.6
irb

times


$ irb
3.times do |i|
 puts i + 1
end
=> 1
2
3

3回繰り返してくれました。
単純に決まった回数回すだけの時に便利です。

each


配列
$ irb
hoges = ["1","2","3"]
hoge.each do |hoge|
 puts hoge
end
=> "1"
"2"
"3"

配列の値の数だけ繰り返してくれます。

ハッシュ
$ irb
hoges = {:name => "hoge", :age => 20}
hoges.each do |k,v|
 puts "#{k}=%gt;#{v}"
end
=> name => hoge
age => 20

ハッシュの値の数だけ繰り返して、キーと値の両方を取り出してくれます。

for


配列
$ irb
hoge = [[1,2],[3,4]]
for x,y in hoge
 puts [x,y]
end
=> [1,2]
[3,4]


ハッシュ
$ irb
hoge = {1=>2,3=>4}
for x,y in hoge
 puts [x,y]
end
=> [1,2]
[3,4]

まぁほぼeachと一緒ですね。
rubyやrailsでは、ほとんどfor文は使う事はないと思います。
eachでやってしまうのがほとんどですからね。
posted by RicK at 15:15| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/39075730

この記事へのトラックバック