2012-03-15 7 views
-1

私はスティーブホルズナーによってはRuby on Railsを始める本から学んでいます、そして本のコードのいくつかをしようとしていますが発生しません!以降ルビーの例では、何も出力

+1

どのようにプログラムを実行していますか?どのような環境(OS、ルビーバージョン)ですか? – dbenhur

+1

このプログラムを起動すると、 '$ _'には何が含まれていると思いますか? –

答えて

4

$_は、プロセスが開始されるときにnilです。したがって、条件はすぐに満たされ、ループを一度実行することさえありません。until

2

に入力した文字がqになるまで繰り返すので、最初の行は次のようになります。今

until($_ == "q") 

$_はそこに最初の時間を取得するときqに設定されていないので、すぐにループを終了します。

2

は、あなたが「Q」以外のものがinputedされるまで、それが実行されることを示唆している必要がありuntil($_ == "q")

な方法であることが必要です。したがって、何かが入力されたときに終了し、qが入力された場合、それは続行されます。

2

$_は、このプログラムを実行するとnilを返します。 nilは!=〜qなので、プログラムはまったく実行されません。それはnilで終了します。あなたのコードを修正

2

、brah

#!/usr/bin/env ruby 
foo = '' 
while foo != 'q' 
    puts "Running" 
    print "Enter q to quit: " 
    foo = gets 
    foo.chomp! 
end 
関連する問題