Rub*_*012 0 ruby arrays hash key-value-observing ruby-on-rails-3
我正在尝试查看哈希并将其值与现有字符串进行比较,然后在找到匹配项时我想输出其密钥.我试图在代码块中写这个并将结果输出到控制台.
officer.name = "Dave"
@hash = { "Tom" => "97", "Dave" => "98", "John" => "99" }
@hash.each { |key, value| do
if #{key} == officer.name
puts "id: #{value}"
else
puts "no match"
end
}
Run Code Online (Sandbox Code Playgroud)
现在我的控制台输出:
id: 97
no match
id: 98
no match
id: 99
no match
Run Code Online (Sandbox Code Playgroud)
我试图让它只输出#{value}的值,基于匹配的#{key},在这种情况下是Dave.所以对于上面的例子,我希望我的控制台只吐出数字98或"不匹配".
这是一个哈希!您可以更有效地执行您尝试的方式:
officer.name = "Dave"
@hash = { "Tom" => "97", "Dave" => "98", "John" => "99" }
unless @hash.key?(officer.name)
puts "no match"
else
puts "id: #{@hash[officer.name]}"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5546 次 |
| 最近记录: |