我有一個像下面兩個散列,如何比較和打印Ruby中匹配的哈希值?
h1 = {"a" => 1, "b" => 2, "c" => 3}
h2 = {"a" => 2, "b" => 2, "d" => 3}
我想遍歷HASH1和HASH2並找到匹配鍵和值並將其打印在控制檯。 舉例這裏應該返回輸出「B」 => 2倍。其不與下面的代碼工作,
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
我是從基本的C++和Java的背景和它很容易做到使用循環和迭代,但使用Ruby,這是非常困難的。
你的問題還不清楚。 「它不工作」是什麼意思? *如何*它不起作用?你有錯誤嗎?如果是的話,你得到的*精確*錯誤信息是什麼,回溯是什麼,錯誤發生在哪一行?你有什麼警告嗎?如果是,那麼*精確*警告信息是什麼,警告發生在哪一行?觀察到的行爲是否與預期行爲不同?如果是,那麼*觀察到的行爲是什麼,預期的行爲是什麼?請詳細說明您想要做什麼,包括任何和所有例外情況,特殊情況...... –
......角落案例和邊緣案例。另外,請提供樣本輸入和輸出作爲測試用例,其中包括例外,角落案例,特殊情況和邊緣案例。在標題中,您問的是「匹配值」。我期望匹配值的結果是'[{「b」=> 2},{「c」=> 3},{「d」=> 3}]'。在問題主體中,您問的是「匹配鍵」。我期望匹配鍵的結果是'[{「a」=> 1},{「a」=> 2},{「b」=> 2}]''。但是,這些都不符合你想要的結果'{「b」=> 2}'。 –