キーを値で取得しようとしていますが、動的に文字列変数をスローする要求を設定したいと考えています。
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
「Adams」と入力してEnterキーを押すと、2番目の方法でエラーが発生します。
test.rb:6:in `<main>': undefined method `first' for nil:NilClass (NoMethodError)
クラスもチェックrequest1
しました-両方request2
String
rassocの説明を読みましたが、2番目が機能しない理由はまだわかりません。