所以我在控制台上运行了一个小红宝石程序。
有时我想输入输入(尽可能多地输入,直到我在那里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)
是否有一种不断从控制台/文件获取输入的好方法?
答案 0 :(得分:0)
问题是while(true)
应该更像while(input = gets)
如果需要chomp
,请使用(ruby 2.3)&
运算符,以便只有在gets
不是nil
时才会运行:
while(input = gets&.chomp)