追加 - 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"]]