1
IO::console::getch
をループで使用してコンソールからの入力を取得しようとしていますが、getch
は最初の改行をキャプチャしていないようですループを破る)、getc
はそうしていますが、残りの部分ではうまくいきません。raw IO :: consoleで最初のCRLFをキャプチャできない
最初のCRLFをキャプチャするにはどうすればよいですか?2回入力する必要はありません。
関連するコード:
require 'io/console'
buffer,str=IO::console(),""
loop do
buffer.write "\r\033[32m"+str+"\033[0m"
chr=buffer.getch
break if chr=="\r"
str+=chr
end
print "\n"+str
あなたはどのOSを使用しているのかは言いませんが、通常はWindows上でのみCRLFが表示されます。 LinuxとMac OSは '" \ n ""のみを使用します。通常、人々がコンソールに書き込もうとしていないか、 'getch'を使って単一の文字を読み込もうとしていないので、あなたが何をしようとしているのかを説明すると役に立ちます。 –