2016-11-23 13 views
1

期待どおりに動作しません:それは私のために動作しませんSTDIN.getsは、私はRubyでSTDINから読み取るしようとしています

#!/usr/bin/env ruby 

STDIN.gets do |line| 
    puts "line = #{line}" 
end 

。なぜ私は理解できません。私のRubyのバージョンは2.1.8です。

+0

あなたはどのようなエラーを取得していますか? –

+0

私はブロックを取る 'IO#gets'のバージョンを認識していません。あなたの '' line =#{line} ''はあなたがエラーと考えているように動作しないという事実はありますか? – dodecaphonic

+0

@dodecaphonic、それは何のエラーも投げられません。ただし、入力の最初の行を読み取った後で終了し、ブロック内のコードは実行されません。 – codeforester

答えて

0

これは通常、あなたが継続的にそれを実行したい場合は、あなたがこのような何かそうでしこの

line = STDIN.gets.chomp 
puts "line = #{line}" 

のように行われます。

def get_line 
    line = STDIN.gets.chomp 
    puts "line = #{line}" 
end 

while var == true 
    get_line 
end 
関連する問題