Ruby:我如何摆脱这个循环

时间:2013-09-25 00:16:54

标签: ruby

我有:

line = gets
while line = gets
   print line
end
puts 'out of loop'

如何制作第return nil行?

请注意,第二行line=gets是故意的,所以当gets=nilline=nil和整个条件变为假时。

2 个答案:

答案 0 :(得分:3)

getsnil(文件结束)时返回EOF

您可以向终端发送EOF,这可以通过在类Unix系统上按 Ctrl-D 来完成。或Windows上的 Ctrl-Z

参考:IO#gets

答案 1 :(得分:2)

如果你的意思是“因为有人从命令行给出输入,我将如何终止它?”:你会点击ctrl-D。

如果您的意思是“我如何以编程方式退出此循环?”:只需检查是否会终止循环的条件,如果是,则为break