Array#mapで多次元配列を扱う時、複数個のブロック引数で値をとれる
本日のRubyに関する学び。
a = [1,2,3] a.map do |element| element.class #=> Fixnum,Fixnum,Fixnum end a.map do |first,second| second #=> nil,nil,nil end b = [[1,2],[3,4],[5,6]] b.map do |element| element.class #=> Array end b.map do |first,second| second #=> 2,4,6 end
ドキュメントにも可変長引数に関する言及が無かったので最初よく分からなかったが、How does Array.map work for 2D arrays? - Ruby Forumを読んでいたら仕組みについては少し腹落ちした感じがある。
とはいえまだ人に説明できるほど理解できたわけではないので後日もう一回読む。