0
私はRubyの初心者で、大文字入力を検出する簡単なプログラムを作成しようとしています。私は現在、ruby-1.9.3-p125を使用しています。だから、私はこのコンパイルしようとしています:未定義メソッド `upcase 'for nil:NilClass(NoMethodError) - Ruby 1.9.3
# coding: utf-8
puts 'hello! enter something:'
while req!=req.upcase
req=gets.chomp
if req == req.upcase
puts "This is UpperCase!"
else
puts "Not UpperCase :(Try again!"
end
end
puts "GoodBye!"
をそして私は、このようなエラーが表示されます。
app1.rb:4:in `<main>': undefined method `upcase' for nil:NilClass (NoMethodError)
たぶん私はこのような任意のlibやなめらかを含める必要がありますか? BTW、 "UpCase" .casecase "はうまくいきます。
これは私のために働いてくれてありがとう!しかし、 "req = gets中"の行では、このvarの特別な定義なしで、 "req"でのリフレクションはまだあります。大丈夫ですか?おそらくwhileループで使う前にこのvarを定義するべきでしょうか? – f1nn
@IlyaRusanen rubyは変数を定義する必要はありません。それは彼らに初めて見えるようにします。 – dbenhur