この投稿で尋ねられたのと同じ質問がありますが、Perl ではなく Ruby についてです。 2 つのハッシュとキーと値の比較 - Perl
2つのハッシュを比較したいのですが、最初に1番目のハッシュにあるキーが2番目のハッシュに存在するかどうかを確認し、その場合は値を比較してハッシュキーの値を出力し、値が等しくない場合はキーを出力します等しくない値を持っています。
多くの提案を見てきましたが、2 つの異なるハッシュの値を比較するための答えが見つかりません。
この投稿で尋ねられたのと同じ質問がありますが、Perl ではなく Ruby についてです。 2 つのハッシュとキーと値の比較 - Perl
2つのハッシュを比較したいのですが、最初に1番目のハッシュにあるキーが2番目のハッシュに存在するかどうかを確認し、その場合は値を比較してハッシュキーの値を出力し、値が等しくない場合はキーを出力します等しくない値を持っています。
多くの提案を見てきましたが、2 つの異なるハッシュの値を比較するための答えが見つかりません。
h1 = {"a" => 1, "b" => 2, "c" => 3}
h2 = {"a" => 2, "b" => 2, "d" => 3}
(h1.keys & h2.keys).each {|k| puts ( h1[k] == h2[k] ? h1[k] : k ) }
出力:
a
2
クライアントとイベントの両方の配列に表示されているすべての人を見つけるために、値を収集して比較します。
clients = {"address"=>"street.name.1" , "name"=>"john.doe" , "age"=>25} , {"address"=>"street.name2" , "name"=>"jane.doe" , "age"=>14} , {"address"=>"street.name.3" , "name"=>"tom.smith" , "age"=>35}
events = {"type"=>"party" , "participant"=>"lisa.cohen" , "date"=>"05.05.13"} , {"type"=>"corporate" , "participant"=>"john.doe" , "date"=>"26.05.13"} , {"type"=>"meeting" , "participant"=>"james.edwards" , "date"=>"14.05.13"}
#Get all client names
client_names = clients.collect{ |c| c['name'] }
p client_names
#=> ["john.doe", "jane.doe", "tom.smith"]
#Get all participant names
event_participants = events.collect{ |e| e['participant'] }
p event_participants
#=> ["lisa.cohen", "john.doe", "james.edwards"]
#Determine names that appear in both
names_in_both = client_names & event_participants
p names_in_both
#=> ["john.doe"]