1

学習しながら、チュートリアルとgithubrubyプログラムを実行しています。ターミナルでプログラムの1つを実行すると、1行に1つずつ入力するように求められます。これはばかげていることは知っていますが、ターミナルに入力が完了したことをどのように伝えることができますか?

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

完了したことをどのように伝えることができますか?

4

2 に答える 2

4

Ctrl+DEnterEOF(またはCtrl+ZEnterWindows)を作成するために使用します。

ただし、このソフトウェアが人間にとって簡単で使いやすいものである場合は、「または停止する空白行」と言って、代わりにそれを確認することを検討してください。(ただし、を使用しても機能しませんSTDIN.readlines.each-gets代わりに:)

于 2013-01-18T02:40:29.377 に答える
2

ストップストリングを処理できます。たとえば、ティッカーが空の文字列の場合:

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

  tickers.push(ticker)
end
于 2013-01-18T02:40:44.167 に答える