2013-07-16 9 views
-2

해시 값으로 배열에서 특정 값을 찾고 싶습니다. ans.has_value?("car")을 단순히 사용하면 배열에없는 경우에만 해당 값을 찾을 수 있습니다. 하지만 ans.has_value?(["car"])을 사용하는 경우 ["car"] 하나만있는 경우 true을 찾을 수 있습니다. 값과 같은 배열에 두 개 이상의 항목이 있으면 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

메신저 참으로 반환 값을 찾고, 그래서 그래 내가 필요한 것입니다 ------- ANS .detect {| _, value | value.include? ('car')}. last.include? "car" – user2301576

+0

@ user2301576 내 대답을 약간 편집했습니다. –

+0

awesome, _ _, value |에서 밑줄의 기능이 무엇인지 물어봐도 될까요? – user2301576

관련 문제