私はHASH1とHASH2を反復と一致するキーとその値を見つけると、コンソール上でそれを印刷したい以下のような2つのハッシュ、Rubyで一致するハッシュ値を比較して出力する方法は?
h1 = {"a" => 1, "b" => 2, "c" => 3}
h2 = {"a" => 2, "b" => 2, "d" => 3}
を持っています。 例ここでは、私は基本的にC++とJavaの背景とループやイテレータのために使用して行うことは、その非常に簡単からですが、使用してコードの下で作業していない出力「B」=> 2 .its、
h1.each do |key1, value1|
h2.each do |key2, value2|
if ((h2.include? key1) && (h2.include? value1))
puts "matching h2 key #{h2[key2]}and h1 key #{h1[key1]}"
else
puts " don not match h2 key #{h2[key2]}and h1 key #{h1[key1]}"
end
end
end
を返す必要がありますRuby、それは非常に難しいです。
あなたの質問は不明です。 「それは機能していません」とはどういう意味ですか? *どのように動作していないのですか?間違いはありますか?はいの場合は、取得している正確な*エラーメッセージは何ですか、バックトレースは何ですか?エラーはどの行に表示されますか?あなたに警告がありますか?はいの場合、*正確な*警告メッセージとは何ですか?警告はどの行に表示されますか?観察された行動は期待される行動と異なるか?はいの場合、観察された行動とは何か*期待される行動は何ですか?すべての例外、特別なケース、... –
...コーナーケース、およびエッジケースを含め、*正確に*実行したいことの仕様を指定してください。また、例外の例、コーナーケース、特殊ケース、エッジケースなどのサンプルの入力と出力をテストケースとして提供してください。タイトルでは、「値の照合」について質問しています。一致する値が期待する結果は '[{" b "=> 2}、{" c "=> 3}、{" d "=> 3}]'です。質問の本文では、「一致するキー」について質問しています。一致するキーが期待する結果は '[{" a "=> 1}、{" a "=> 2}、{" b "> 2}]'です。しかし、どちらも '{" b "=> 2}'のあなたの望む結果には対応していません。 –