使用变量访问哈希值

时间:2013-12-09 07:59:26

标签: 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}]"

输出:

Enter number 2
Value: DHASH[2]

我想要的是什么:

Enter number 2
Value: -0.32

1 个答案:

答案 0 :(得分:5)

试试这个:

print "Enter number "
num = gets.chomp().to_i
puts "Value: #{DHASH[num]}"

使用Ruby中的变量访问哈希值非常简单!您只需确保变量具有正确的密钥,然后使用变量而不是密钥。在你的情况下,你得到的数字将是一个字符串,你需要它是一个整数,所以你需要把它变成一个整数。你需要纠正字符串插值。