私は次のものを持っています:
@d = {'fish' => 'aquatic animal', 'fiend' => 'wicked person', 'great' => 'remarkable'}
def find(x)
result={}
@d.each do |k,v|
if @d[k] =~ /[#{x}]/
#has to return in a hash
result[k]=v
else
return {}
end
end
return result
end
入力で:
find('fi')
次のように返されます。
{'fish' => 'aquatic animal', 'fiend' => 'wicked person'}
しかし、私は整数を取得しています。いくつかの IRB テストでは5
、 が返されているように見えますが、本当のはずです。
編集:この関数では、存在しないものが入力された場合、空のハッシュを返す必要があることに注意してください。