2009年7月7日火曜日

rubyのちょっとしたメモ [each]

何度調べてもすぐ忘れる(にわとりだ//)からメモする

[each]

each_indexでインデックスによるイテレーションができる。

<ソース>
---------------------------------------------------------
char = ['a', 'b', 'c']

char.each_index do |i|
 puts i
end
---------------------------------------------------------

<実行結果>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0
1
2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


each_with_indexでバリューとインデックスによるイテレーションができる

---------------------------------------------------------
char = ['a', 'b', 'c']

char.each_with_index do |c, i|
 puts i
 puts c
end
---------------------------------------------------------

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0
a
1
b
2
c
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


eachにはこんな使い方もある

---------------------------------------------------------
a = ['taro', 18, 80]
b = ['jiro', 16, 70]
c = ['tagosaku', 15, 100]

array = [a, b, c]

array.each do |name, age, score|
 puts name
 puts age
 puts score
end
---------------------------------------------------------

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
taro
18
80
jiro
16
70
tagosaku
16
100
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



なるほど・・・、rubyおそるべし・・・。

0 件のコメント:

コメントを投稿