как получить конкретный ключ из хэша ruby

#ruby-on-rails #ruby #hash #each

#рубин на рельсах #рубин #гашиш #каждый

Вопрос:

 mike = {:911=gt;{"Id"=gt;"123"}}  sam = {:sam_id=gt;"911", :sam_age=gt;"30", :sam_location=gt;"location", :sam_phone=gt;[{:no_1=gt;{:no_2=gt;"123"}}, {:locality=gt;"area"}]}   mike.each_key do | key |  final_data = sam.find { |sams_data| sams_data[:sam_id].to_s == mike[key] } end  

как я могу сравнивать |sams_data| sams_data[:mike_id].to_s == mike[key] , так mike[key] как дает мне значение {"Id"=gt;"123"} того ключа, который мне не нужен.

Комментарии:

1. так что на самом деле я хочу 911 от Майка = {:911=gt;{«Id»=gt;gt;»123»}}, а затем сравните его

2. Это было бы то самое key , приятель. Это должно сработать: sams_data[:sam_id].to_s == key.to_s.to_i (предполагая, что sams_data[:sam_id] это целое число)

3. это сработало, спасибо

4. Вы не получаете сообщение об :911 ошибке ?

5. так что в реальном сенарионе у меня есть —gt; майк = {«911″=gt;gt;{«Удостоверение личности»=gt;gt;gt;»123»}} и я не получаю никаких ошибок с этим