hash = { "d" => [11, 22], "f" => [33, 44, 55] }
# case 1
hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",")
=> "d:11,d:22,f:33,f:44,f:55"
# case 2
hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",")
=> "11,22,33,44,55"
唯一的區別是情況1使用vs.map
,情況2使用vs.each
。陣列#每個與陣列#地圖
這裏發生了什麼事?
完美的答案理解。只是.. 免責聲明:如果您過度使用map函數的返回值,您可能會浪費大量內存。 – Imran 2017-02-26 08:02:41