私はルビーにかなり慣れていません、そして私はそのように見えるハッシュを持っています:
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2, ... }
そして私はそれを次のような配列に変換したいと思います
[ ["key1", "key2", 5], ["key1", "key3", 2] ... ]
どうすればこれを行うことができますか?
単に:
hash.collect{|k, v| k << v}
元のハッシュを変更せずに必要な場合:
hash.collect{|k, v| k + [v]}
別の方法は次のとおりです。
hash.map(&:flatten)
# => [["key1", "key2", 5], ["key1", "key3", 2]]
to_aはまさにそれを行います。
{ ["key1", "key2"] => 5, ["key1", "key3"] => 2}.to_a