追加 - ruby 配列の中にハッシュ




Rubyハッシュ値の配列へ (4)

私はこれを持っている:

hash  = { "a"=>["a", "b", "c"], "b"=>["b", "c"] } 

私はこれに行きたい: [["a","b","c"],["b","c"]]

これはうまくいくはずですが、そうではありません:

hash.each{|key,value| value}
=> {"a"=>["a", "b", "c"], "b"=>["b", "c"]} 

助言がありますか?


これもあります:

hash = { foo: "bar", baz: "qux" }
hash.map(&:last) #=> ["bar", "qux"]

なぜそれが動作する:

&はオブジェクトのto_procを呼び出し、ブロックとしてメソッドに渡します。

something {|i| i.foo }
something(&:foo)

それは次のように簡単です

hash.values
#=> [["a", "b", "c"], ["b", "c"]]

これは、ハッシュ値から値が移入された新しい配列を返します

新しい配列を保存したい場合はdo

array_of_values = hash.values
#=> [["a", "b", "c"], ["b", "c"]]

array_of_values
 #=> [["a", "b", "c"], ["b", "c"]]

私は使うだろう:

hash.map { |key, value| value }

hash  = { :a => ["a", "b", "c"], :b => ["b", "c"] }
hash.values #=> [["a","b","c"],["b","c"]]




hash