(Ruby1.9.3を実行しているWindows7 x64)
状況は次のとおりです。Rubyでテキストゲームを作成し、従来のgets
方法を使用してユーザーから入力を取得しています。ゲームで何かが起こっているとき(つまり、画面に何かが印刷されているとき)、ユーザーが入力のために入力したものはすべて失われ、ユーザーは新しい行に入力したものを入力し続ける必要があります。迷子になる前に最初に入力したものはまだそこにあり、表示されません。
上記が意味をなさない場合は、このコードを実行してみてください。問題が発生します。
Thread.new do
loop do
puts "Hello!"
sleep 2
end
end
Thread.new do
loop do
gets
end
end
私が欲しいのは、印刷された行(この場合"Hello!"
)をユーザーが入力している行の前に配置することです。
これを実現するには、WindowsAPIを詳しく調べる必要があるかもしれないことを理解しています。それも不可能かもしれません。でも方法があれば、本当に知りたいです。