2016-04-06 21 views
0

キーを含む配列を使用してハッシュのすべての値を取得したいですか?キー配列を使用してハッシュの値を取得するにはどうすればよいですか?

私はこのハッシュを持っている:

{:id=>402, :email=>"[email protected]", :organizations_count=>0, :username=>"admin"} 

私は配列を持っている:

[:id, :email] 

だから私は

["402", "[email protected]"] 

の配列を取得したいが行うには包丁方法はありますこの?私はループを持っていますが、ルビーはこれを "oneliner"のやり方で行うことができますが、これを行う方法を理解することができます。

答えて

2

あなたはHash#values_at使用する必要があります。この場合には、引数としてスプラット演算子(*)で配列を渡す

hash = {:id=>402, :email=>"[email protected]", :organizations_count=>0, :username=>"admin"} 
array = [:id, :email] 
hash.values_at(*array) 
#=> [402, "[email protected]"] 

がちょうどhash.values_at(:id, :email)

+0

これを簡単に見つけることができませんでした、私はみますと同じです –

関連する問題