1

私はこれを理解できないようです。2 つのハッシュがある場合、最初のハッシュの値は常に 2 番目のハッシュのキーと一致する必要があります。

hash1 = { :table => 'name', :action => 'view' }
hash2 = { 'name'  => 'first_name', 'group'   => 'user_group' }

キー :table は定数ですが、値は動的です。キーが hash1 の値と一致する場合、hash1 の値を hash2 の値と交換するにはどうすればよいですか? 実際のキーまたは値がどうなるかわからない場合 (hash1 の :table 以外)? 意味があることを願って、更新された hash1 (または新しいハッシュ) は次のようになります。

hash1 = { :table => 'first_name', :action => 'view' }

前もって感謝します。

4

3 に答える 3

0
hash1 = { :table => 'name', :action => 'view' }
hash2 = { 'name'  => 'first_name', 'group'   => 'user_group' }

hash2.each{|k,v| hash1[hash1.key(k)] = v if hash1.has_value? k}
p hash1
# >> {:table=>"first_name", :action=>"view"}
于 2013-07-22T13:49:14.067 に答える