0

キーを値で取得しようとしていますが、動的に文字列変数をスローする要求を設定したいと考えています。

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しました-両方request2String

rassocの説明を読みましたが、2番目が機能しない理由はまだわかりません。

4

1 に答える 1

1

あなたはむしゃむしゃ食べていませんgets

# If the user types 'Washington'
gets       #=> "Washington\n"
gets.chomp #=> "Washington"
于 2013-03-08T19:10:46.560 に答える