2013-07-16 111 views
-2

我想在數組中找到某個值作爲哈希值。如果我只是使用ans.has_value?("car"),它只能找到這樣的值,如果它不在數組中。但是,如果我使用ans.has_value?(["car"]),則只能找到true,如果只有一個["car"];如果數組中有兩個或更多項目的值,則返回false。請告知如何在數組的多個項目中查找值?哈希值在數組中作爲值

ans=Hash.new 
ans["a"]=["car"] 
ans["b"]=["scar"] 
ans["a"]+=["car"] 
puts ans.has_value?(["car"]) 
puts ans 

print "Press ENTER to continue . . ." 

gets 

此輸出:

 
false 
{"a"=>["car", "car"], "b"=>["scar"]} 
Press ENTER to continue . . . 

回答

0

這應該工作:

!!ans.detect{|_, value| value.include?('car')} 
+0

即時尋找返回值爲true,所以是的,它是我需要什麼樣的------- ANS .detect {| _,value | value.include?('car')}。last.include?「car」 – user2301576

+0

@ user2301576我稍微編輯了我的答案。 –

+0

真棒,請問在| _,value |下劃線的功能是什麼? – user2301576