Ruby-如何循环无限的用户输入

时间:2017-07-06 00:24:36

标签: ruby input

所以我在控制台上运行了一个小红宝石程序。

有时我想输入输入(尽可能多地输入,直到我在那里ctrl + c outta),有时我想把文件作为输入(例如ruby robot_simulator.rb < test_data.txt

目前我有这段代码:

while(true)
  input = gets.chomp

它有点工作,但是当我用文件作为输入运行它时,它会因为这个错误而崩溃:

robot_simulator.rb:23:in `<main>': undefined method `chomp' for nil:NilClass (NoMethodError)

是否有一种不断从控制台/文件获取输入的好方法?

1 个答案:

答案 0 :(得分:0)

问题是while(true)

应该更像while(input = gets)

如果需要chomp,请使用(ruby 2.3)&运算符,以便只有在gets不是nil时才会运行:

while(input = gets&.chomp)