Доступ к хеш-значению с помощью переменной

Как получить доступ к хеш-значению с помощью переменной? Вот что у меня не работает:

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 ответ

Решение

Попробуй это:

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

Доступ к хеш-значениям с помощью переменной в Ruby удивительно прост! Вы просто убедитесь, что переменная имеет правильный ключ, а затем используете переменную вместо ключа. В вашем случае число, которое вы получаете, будет строкой, и вам нужно, чтобы оно было целым числом, поэтому вам нужно превратить его в целое число. И вам нужно исправить интерполяцию строк.

Другие вопросы по тегам