2次元配列をeach等で回すときに複数のブロックパラメーターを利用すると便利だ。
array = [["taro", 1], ["jun", 2], ["sachi", 3]] array.each do |name, number| puts "#{name}と#{number}組" end
しかし、「.with_index」を一緒に使う時は注意が必要だ。
次のコードはダメ。
array.each.with_index do |name. number, i| #←ここね! 後略
解決策として複数のブロックパラメーターをかっこ()でくくる。
array = [["taro", 1], ["jun", 2], ["sachi", 3]] array.each.each_index do |(name, number), i| #iはインデックス値 puts "インデックスは#{i}です" puts "#{name}と#{number}組" end