运行Ruby终端的停止列表
我正在运行一些教程和github 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(
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之前,该块甚至不会被执行。