配列のインデックス付きのmap
ary=[[12,"aa"],[34,"bb"],[56,"cc"]]
というのがあって、
[{12=>"aa"}, {34=>"bb"}, {56=>"cc"}]
こんな配列を取り出したいというときは
ary.map{|v|{v[0]=>v[1]}}
でできるのですが、これに配列のインデックスを
取り込みたいときはちょっと困ります。
具体的には
[{0=>[12, "aa"]}, {1=>[34, "bb"]}, {2=>[56, "cc"]}]
を取り出したいというときです。
res=[] [[12,"aa"],[34,"bb"],[56,"cc"]].each_with_index{|v,i|res<<{i=>[v[0],v[1]]}} p res
こんな長ったらしいコードを書く必要があるのですが、
うーむ。めんどくさい。
map_with_index{|v,i|{i=>[v[0],v[1]]}}
とか
map{|v,i|{i=>[v[0],v[1]]}}
とかってやりたい。