0

ブロックのパラメーター内のハッシュの配列からキーと値のペアを公開することは可能ですか?

array = [{:a=>'a'}, {:b=>'b'}]                     # an array of hashes
array.each {|key, value| puts "#{key},#{value}"}   
array.map {|key, value| "(#{key},#{value})"}
array.inject([]) {|accum, (key,value)| key == :a ? value : accum}

現在、コード ブロック パラメーターの結果 |キー、値| are (hash, nil) |key,value|の宣言

で (symbol, string) を取得したい パラメーター。これは可能ですか、それともハッシュを渡してキーと値のペアを自分で抽出する必要がありますか?

配列の代わりにハッシュを渡すと自動的にキーと値のペアにアクセスできることはわかっていますが、Ruby の多くは配列を返します。

更新:配列では可能ですが、ハッシュでは可能ですか?

a = [['a','b'],['c','d']]
a.each {|(x,y)| puts "#{x}=>#{y}"}      # => a=>b
                                        # => c=>d
a.each {|x| p x}                        # => ["a", "b"]
                                        # => ["c", "d"]
4

1 に答える 1