-2

ハッシュの値として配列内の特定の値を見つけたい。単純に を使用するans.has_value?("car")と、配列にない場合にのみそのような値を見つけることができます。しかし、 を使用すると、が 1 つしかない場合にans.has_value?(["car"])しか検出できません。そのような配列に value として 2 つ以上の項目がある場合は、 を返します。配列の複数の項目で値を見つける方法を教えてください。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

これは以下を出力します:

間違い
{"a"=>["車", "車"], "b"=>["傷"]}
ENTER を押して続行します。. .
4

1 に答える 1

0

これはうまくいくはずです:

!!ans.detect{|_, value| value.include?('car')}
于 2013-07-16T09:38:51.093 に答える