我有以下内容:
@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
,但它应该是真的。
编辑:我应该提到,在这个函数中,如果输入的内容不存在,它应该返回一个空哈希。