Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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_Terminal - Fatal编程技术网

运行Ruby终端的停止列表

运行Ruby终端的停止列表,ruby,terminal,Ruby,Terminal,我正在运行一些教程和github ruby程序。当我在终端中运行一个程序时,它要求我输入一些东西,每行一个。我知道这很愚蠢,但我如何告诉它我已经完成了在终端中输入内容 puts "Please input a list of stocks, one per line" LifeCycleReportItem.setup report = Report.new tickers = Array.new STDIN.readlines.each { | ticker | tickers.push(

我正在运行一些教程和github ruby程序。当我在终端中运行一个程序时,它要求我输入一些东西,每行一个。我知道这很愚蠢,但我如何告诉它我已经完成了在终端中输入内容

puts "Please input a list of stocks, one per line"
LifeCycleReportItem.setup
report = Report.new
tickers = Array.new
STDIN.readlines.each { | ticker |
  tickers.push(ticker.chomp)
}
这是终点站:

Please input a list of stocks, one per line
GOOG
AAPL
如何告诉它我完成了?

使用Ctrl+DEnter编写EOF(或在Windows上使用Ctrl+ZEnter)

如果这个软件是人类容易使用的,你可以考虑说“或者一个空行停止”,然后检查它。(使用

STDIN.readlines.each
不起作用,但是-只需
获取
:)

使用Ctrl+DEnter编写EOF(或在Windows上使用Ctrl+ZEnter)


如果这个软件是人类容易使用的,你可以考虑说“或者一个空行停止”,然后检查它。(使用

STDIN.readlines.each
,它将不起作用,但是-只需
获取
:)

您可以处理停止字符串。例如,当ticker为空字符串时:

while(ticker = STDIN.gets.chomp) do
  break if ticker.empty?

  tickers.push(ticker)
end

你可以处理一个停止字符串。例如,当ticker为空字符串时:

while(ticker = STDIN.gets.chomp) do
  break if ticker.empty?

  tickers.push(ticker)
end

是的,不是我的代码,只是想知道如何阻止它要求我更多的行:)是的,不是我的代码,只是想知道如何阻止它要求我更多的行:)使用
STDIN.readlines.each
,块在获得EOF之前都不会执行,但是使用
STDIN.readlines.each
,不过,在获得EOF之前,该块甚至不会被执行。