0
Я пытаюсь получить ключ по значению, но хочу, чтобы запрос динамического запроса вызывал строковую переменную.Как передать строку var в Hash # rassoc?
presidents = { 1 => "Washington", 2 => "Adams", 3 => "Jefferson" }
request1 = gets
request2 = "Adams"
puts presidents.rassoc(request1).first # doesn't work
puts presidents.rassoc(request2).first # work perfect
Второй метод дает ошибку, когда я типа "Адамс" и нажмите Enter:
test.rb:6:in `<main>': undefined method `first' for nil:NilClass (NoMethodError)
Я также проверил request1
и request2
классы - как String
Я прочитал описание rassoc, но до сих пор не понимаю, почему второй не работает.
Понял - символ новой строки. Теперь это работает. Спасибо! –
@ramilmuratov Всегда проверяйте свои данные, чтобы увидеть, правильно ли сделаны предположения: –
@DaveNewton Спасибо, но некоторые данные неявны, особенно для новичка :) –