aliases: IO::ConsoleMode
要約
端末の入出力モードを表すクラスです。
現在のモードは IO#console_mode で取得します。new でインスタンスを作ることはできません。取得したモードは dup でコピーできます。
このクラスのメソッドは self が保持するモードの値を変更するだけで、端末には反映されません。変更したモードを端末に反映するには IO#console_mode= に渡してください。
Ruby 4.1 で IO::ConsoleMode から IO::Console::Mode に改名されました。旧名の IO::ConsoleMode は非推奨の別名として残っていますが、参照すると非推奨の警告が出ます。
require "io/console"
mode = STDIN.console_mode
noecho = mode.dup
noecho.echo = false
STDIN.console_mode = noecho # エコーバックを無効にする
begin
password = STDIN.gets
ensure
STDIN.console_mode = mode # 元に戻す
end
[SEE_ALSO] IO#console_mode, IO#console_mode=
目次
- インスタンスメソッド
インスタンスメソッド
echo? -> boolRuby 4.1 から[permalink][rdoc][edit]echo -> bool-
selfで文字入力時のエコーバックが有効かどうかを返します。[SEE_ALSO] IO#echo?
echo=(flag)Ruby 2.7.0 から[permalink][rdoc][edit]-
文字入力時のエコーバックを有効にするかどうかを
selfに設定します。- [PARAM]
flag: - 真を指定した場合はエコーバックを有効に、偽を指定した場合は無効にします。
[SEE_ALSO] IO#echo=
- [PARAM]
min -> Integer | nilRuby 4.1 から[permalink][rdoc][edit]-
入力操作 (read) 時に受信したい最小のバイト数(termios の VMIN)を返します。
termios を利用できない環境(Windows)では nil を返します。
[SEE_ALSO] IO#raw
min=(min)Ruby 4.1 から[permalink][rdoc][edit]-
入力操作 (read) 時に受信したい最小のバイト数(termios の VMIN)を設定します。
- [PARAM]
min: - 最小のバイト数を整数で指定します。nil を指定した場合は 1 になります。0 から 255 の範囲外の値を指定した場合は 255 になります。
termios を利用できない環境(Windows)では何もしません。
- [PARAM]
raw(min: 1, time: 0, intr: false) -> IO::Console::ModeRuby 2.7.0 から[permalink][rdoc][edit]-
selfを raw モードに変更したコピーを返します。selfは変更しません。キーワード引数の意味は IO#raw と同じです。
- [PARAM]
min: - 入力操作 (read) 時に受信したい最小のバイト数を指定します。
- [PARAM]
time: - タイムアウトするまでの秒数を指定します。
- [PARAM]
intr: - true を指定した場合は、割り込み (interrupt) 、中止 (quit) 、停止 (suspend) の各シグナルを生成する制御文字が有効になります。
- [EXCEPTION]
ArgumentError: - intr に true または false 以外の値を指定した場合に発生します。
[SEE_ALSO] IO#raw
- [PARAM]
raw!(min: 1, time: 0, intr: false) -> selfRuby 2.7.0 から[permalink][rdoc][edit]-
selfを raw モードに変更します。キーワード引数の意味は IO#raw と同じです。
- [PARAM]
min: - 入力操作 (read) 時に受信したい最小のバイト数を指定します。
- [PARAM]
time: - タイムアウトするまでの秒数を指定します。
- [PARAM]
intr: - true を指定した場合は、割り込み (interrupt) 、中止 (quit) 、停止 (suspend) の各シグナルを生成する制御文字が有効になります。
- [EXCEPTION]
ArgumentError: - intr に true または false 以外の値を指定した場合に発生します。
[SEE_ALSO] IO#raw!
- [PARAM]
time -> Rational | nilRuby 4.1 から[permalink][rdoc][edit]-
入力操作 (read) がタイムアウトするまでの秒数(termios の VTIME)を Rational で返します。値は 0.1 秒単位です。
termios を利用できない環境(Windows)では nil を返します。
[SEE_ALSO] IO#raw
time=(time)Ruby 4.1 から[permalink][rdoc][edit]-
入力操作 (read) がタイムアウトするまでの秒数(termios の VTIME)を設定します。
- [PARAM]
time: - 秒数を数値で指定します。0.1 秒単位に切り捨てられ、25.5 秒を超える値は 25.5 秒になります。nil を指定した場合は 0 になります。
termios を利用できない環境(Windows)では何もしません。
- [PARAM]
virtual_terminal_processing? -> boolRuby 4.1 から[permalink][rdoc][edit]virtual_terminal_processing=(enabled)-
出力時に仮想端末シーケンス(エスケープシーケンス)を処理するかどうかを返し、または設定します。
このメソッドは Windows でのみ使用できます。
- [PARAM]
enabled: - 真を指定した場合は処理を有効に、偽を指定した場合は無効にします。
- [PARAM]
wrap_at_eol_output? -> boolRuby 4.1 から[permalink][rdoc][edit]wrap_at_eol_output=(enabled)-
出力が行末に達したときに次の行へ折り返すかどうかを返し、または設定します。
このメソッドは Windows でのみ使用できます。
- [PARAM]
enabled: - 真を指定した場合は折り返しを有効に、偽を指定した場合は無効にします。
- [PARAM]