Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 鲁比:我怎样才能摆脱这个循环_Ruby - Fatal编程技术网

Ruby 鲁比:我怎样才能摆脱这个循环

Ruby 鲁比:我怎样才能摆脱这个循环,ruby,Ruby,我有: 如何使行返回nil 请注意,在第二行,line=get是故意的,因此当get=nil时,line=nil整个条件变为false。如果您的意思是“作为从命令行输入的人,我如何使其终止?”:您可以点击ctrl-D 如果您的意思是“如何以编程方式退出此循环?”:只需检查是否存在终止循环的任何条件,如果该条件为真,则break如果您的意思是“作为从命令行提供输入的人,我将如何终止此循环?”:您将按ctrl-D 如果您的意思是“如何以编程方式退出此循环?”:只需检查是否存在终止循环的任何条件,如果

我有:

如何使行
返回nil

请注意,在第二行,
line=get
是故意的,因此当
get=nil
时,
line=nil
整个条件变为false。

如果您的意思是“作为从命令行输入的人,我如何使其终止?”:您可以点击ctrl-D

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

如果您的意思是“作为从命令行提供输入的人,我将如何终止此循环?”:您将按ctrl-D


如果您的意思是“如何以编程方式退出此循环?”:只需检查是否存在终止循环的任何条件,如果为真,则
break
gets
在获取
EOF
(文件结尾)时返回
nil

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


参考:

获取
在获取
EOF
时返回
nil
(文件结束)

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


参考资料:

那么,您在等空行吗?当您的输入以EOF终止时,这应该可以正常工作。您希望它如何退出循环?您可以让用户输入一个特殊的字符串或任何东西。退出循环的条件是什么?一个特殊的角色?您应该将
line=get
放在while循环中而不是条件中,除非您有意跳过输入的第一行,否则您应该删除第一行
line=get
。当没有更多输入(如果您正在重定向STDIN)或键入
Ctrl-d
(*nix/Mac)或
Ctrl-z
(Windows)时,循环将终止。您是否正在等待空行?当您的输入以EOF终止时,这应该可以正常工作。您希望它如何退出循环?您可以让用户输入一个特殊的字符串或任何东西。退出循环的条件是什么?一个特殊的角色?您应该将
line=get
放在while循环中而不是条件中,除非您有意跳过输入的第一行,否则您应该删除第一行
line=get
。当没有更多输入(如果您正在重定向STDIN)或键入
Ctrl-d
(*nix/Mac)或
Ctrl-z
(Windows)时,循环将终止。
line = gets
while line = gets
   print line
end
puts 'out of loop'