を示しながら、ユーザー入力を必要とする方法(警告:私はルビーに比較的新しいです。)ルビー - 同時にカウントダウン
私は私の子供たちはそれらの付加事実を学ぶのに役立つ簡単な数学のスクリプトを書いています。私は彼らの答えで打ち負かす必要があるカウントダウンを示したい。たとえば、カウントダウンが5から0になるのを見ている間、3 + 3 =?に正しく答えるには、「6 + enter」を押す必要があります。 '6 + enter'はカウントダウンを止め、次の質問に進めるべきです。
現在、これは私のカウントダウンのためのコードは次のとおりです。
5.downto(0) do |i| print "\r00:00:#{'%02d' % i}" sleep 1 end
これは、限り、それが行くように、動作します。それは私に私が望むカウントダウンを与える。問題は、カウントダウンプロセスがまだ実行されている間に、このカウントダウンを中断するユーザーからの回答を求める必要があることです。現状では、私はカウントダウン後
答え= gets.chompに
を置くことができるが、それは明らかに非常に多くの私を助けることはないだろう。
アイデア?私は同時プロセスを実行する方法を読もうとしましたが、説明は少し難しかったし、私が読んだもののどれも、私が後に行ったようなユーザーのやりとりを許可していないようでした。
ご協力いただきありがとうございます。
'' Thread''ライブラリを見てください。 – zhon
2つのスレッドを同時に使用するには、[EventMachine](http://www.rubydoc.info/gems/eventmachine/frames)や[Curses]のように、2つのスレッドを使用するか、タイマーを使用してイベントループを実行する必要があります。 (http://ruby-doc.org/stdlib-2.0.0/libdoc/curses/rdoc/Curses.html)。 – tadman