use*_*603 0 ruby string-interpolation
如何使用变量访问哈希值?这是我的不起作用:
DHASH = { 0 => -0.8,
1 => -0.54,
2 => -0.32,
3 => -0.14,
4 => 0,
5 => 0.1 }
print "Enter number "
num = gets.chomp()
puts "Value: DHASH[#{num}]"
Run Code Online (Sandbox Code Playgroud)
输出:
Enter number 2
Value: DHASH[2]
Run Code Online (Sandbox Code Playgroud)
我想要的是:
Enter number 2
Value: -0.32
Run Code Online (Sandbox Code Playgroud)
试试这个:
print "Enter number "
num = gets.chomp().to_i
puts "Value: #{DHASH[num]}"
Run Code Online (Sandbox Code Playgroud)
使用Ruby中的变量访问哈希值非常简单!您只需确保变量具有正确的密钥,然后使用变量而不是密钥.在你的情况下,你得到的数字将是一个字符串,你需要它是一个整数,所以你需要把它变成一个整数.你需要纠正字符串插值.