class IRB::Context

[edit]

要約

irb の設定を扱うためのクラスです。

irb 中で conf コマンドの戻り値や .irbrc で IRB.conf を操作する事で設定を変更します。irb の起動後は IRB.conf の内容を更新しても変更の内容は反映されない事に注意してください。

なお、.irbrc 中に記述できる以下の設定値については、IRB::Context オブジェクトのメソッドとして操作できません。

IRB.conf[:AT_EXIT]

irb の終了時(サブ irb を含みません)に本項目に設定された Proc オブジェクトを実行します。ブロック引数には何も渡されません。

デフォルト値は [] です。

IRB.conf[:CONTEXT_MODE]

新しいワークスペースを作成した時(サブ irb の起動や pushws した時)に、ワークスペースに関連する Binding オブジェクトの作成方法を Integer で設定します。

0 を指定した場合、Object::TOPLEVEL_BINDINGProc 内の Binding を使用します。1 を指定した場合、Tempfile 中の Binding を使用します。2 を指定した場合、Thread 内で読み込んだファイル中の Binding を使用します。3 を指定した場合、 Object::TOPLEVEL_BINDING の関数中の Binding を使用します。

ただし、IRB.conf[:SINGLE_IRB] に true を設定していた場合は、現在のワークスペースをそのまま使用します。

デフォルト値は 3 です。

IRB.conf[:IRB_LIB_PATH]

ライブラリ内部で使用します。

IRB.conf[:IRB_RC]

irb の起動時(サブ irb を含みます)に本項目に設定された Proc オブジェクトを実行します。ブロック引数には IRB::Context が渡されます。そのため、サブ irb の設定をまとめて実行するのに使用します。

デフォルト値は nil です。

irb/サブ irb の設定 も併せて参照してください。

IRB.conf[:LC_MESSAGES]

ライブラリ内部で使用します。

IRB.conf[:MAIN_CONTEXT]

ライブラリ内部で使用します。

IRB.conf[:SCRIPT]

ファイル名を指定して irb を実行した場合のパスを文字列で返します。

デフォルト値は nil です。

IRB.conf[:SINGLE_IRB]

irb 中で self を実行して得られるオブジェクトをサブ irb と共有するかどうかを設定します。true を設定した場合に共有されます。

デフォルト値は false です。

IRB.conf[:VERSION]

IRB.version を実行した時に返すバージョンを String で指定します。

デフォルト値は nil です。

IRB.conf[:__MAIN__]

ライブラリ内部で使用します。

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

new(irb, workspace = nil, input_method = nil, output_method = nil) -> IRB::Context[permalink][rdoc][edit]

自身を初期化します。

[PARAM] irb:
IRB::Irb オブジェクトを指定します。
[PARAM] workspace:
IRB::WorkSpace オブジェクトを指定します。省略した場合は新しく作成されます。
[PARAM] input_method:
StringIRB::InputMethod のサブクラスのオブジェクト、nil のいずれかを指定します。
[PARAM] output_method:
IRB::OutputMethod のサブクラスのオブジェクトを指定します。省略した場合は IRB::StdioOutputMethod オブジェクトが新しく作成されます。

インスタンスメソッド

__inspect__ -> String[permalink][rdoc][edit]

自身を文字列表現にしたオブジェクトを返します。

__to_s__ -> String[permalink][rdoc][edit]

自身を文字列表現にしたオブジェクトを返します。

ap_name -> String[permalink][rdoc][edit]

自身のアプリケーション名を返します。

デフォルト値は "irb" です。

[SEE_ALSO] IRB::Context#ap_name=

ap_name=(val)[permalink][rdoc][edit]

自身のアプリケーション名を val に設定します。

.irbrc ファイル中で IRB.conf[:AP_NAME] を設定する事でも同様の操作が行えます。

[PARAM] val:
アプリケーション名を String で指定します。

[SEE_ALSO] IRB::Context#ap_name

auto_indent_mode -> bool[permalink][rdoc][edit]

入力が次の行に継続した時に自動で字下げを行うかどうかを返します。

デフォルト値は false です。

[RETURN]
自動で字下げを行う場合は true を返します。行わない場合は false を返します。

[SEE_ALSO] IRB::Context#auto_indent_mode=

auto_indent_mode=(val)[permalink][rdoc][edit]

入力が次の行に継続した時に自動で字下げを行うかどうかを val に設定します。

[PARAM] val:
true を指定した場合、自動で字下げを行います。false を指定した場合は自動で字下げを行いません。

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

[SEE_ALSO] IRB::Context#auto_indent_mode

back_trace_limit -> Integer[permalink][rdoc][edit]

エラー発生時のバックトレース表示の先頭、末尾の上限の行数を返します。

デフォルト値は 16 です。

[SEE_ALSO] IRB::Context#back_trace_limit=

back_trace_limit=(val)[permalink][rdoc][edit]

エラー発生時のバックトレース表示の先頭、末尾の上限の行数をそれぞれ val 行に設定します。

.irbrc ファイル中で IRB.conf[:BACK_TRACE_LIMIT] を設定する事でも同様の操作が行えます。

[PARAM] val:
バックトレース表示の先頭、末尾の上限を Integer で指定します。

[SEE_ALSO] IRB::Context#back_trace_limit

debug? -> bool[permalink][rdoc][edit]

irb がデバッグモード(IRB::Context#debug_level が 1 以上)で動作しているかどうかを返します。

デフォルト値は false です。

[SEE_ALSO] IRB::Context#debug_level, IRB::Context#debug_level=

debug_level -> Integer[permalink][rdoc][edit]

irb のデバッグレベルを返します。

デフォルト値は 0 です。

[SEE_ALSO] IRB::Context#debug_level=, IRB::Context#debug?

debug_level=(val)[permalink][rdoc][edit]

irb のデバッグレベルを val に設定します。

.irbrc ファイル中で IRB.conf[:DEBUG_LEVEL] を設定する事でも同様の操作が行えます。

[SEE_ALSO] IRB::Context#debug_level, IRB::Context#debug?

echo -> bool[permalink][rdoc][edit]
echo? -> bool

irb のプロンプトでの評価結果を表示するかどうかを返します。

デフォルト値は false です。

[SEE_ALSO] IRB::Context#echo=

echo=(val)[permalink][rdoc][edit]

irb のプロンプトでの評価結果を表示するかどうかを設定します。

.irbrc ファイル中で IRB.conf[:ECHO] を設定する事でも同様の操作が行えます。

[PARAM] val:
true を指定した場合、irb のプロンプトでの評価結果を表示します。false を指定した場合は表示しません。

[SEE_ALSO] IRB::Context#echo

evaluate(line, line_no) -> object[permalink][rdoc][edit]

ライブラリ内部で使用します。

exit(ret = 0) -> object[permalink][rdoc][edit]

irb を終了します。ret で指定したオブジェクトを返します。

[PARAM] ret:
戻り値を指定します。

[SEE_ALSO] IRB.irb_exit

file_input? -> bool[permalink][rdoc][edit]

ライブラリ内部で使用します。

ignore_eof -> bool[permalink][rdoc][edit]
ignore_eof? -> bool

Ctrl-D(EOF) が入力された時に irb を終了するかどうかを返します。

true の時は Ctrl-D を無視します。false の時は irb を終了します。

デフォルト値は false です。

[SEE_ALSO] IRB::Context#ignore_eof=

ignore_eof=(val)[permalink][rdoc][edit]

Ctrl-D(EOF) が入力された時に irb を終了するかどうかを val に設定します。

.irbrc ファイル中で IRB.conf[:IGNORE_EOF] を設定する事でも同様の操作が行えます。

[PARAM] val:
true を指定した場合、 Ctrl-D を無視します。false を指定した場合は Ctrl-D の入力時に irb を終了します。

[SEE_ALSO] IRB::Context#ignore_eof

ignore_sigint -> bool[permalink][rdoc][edit]
ignore_sigint? -> bool

Ctrl-C が入力された時に irb を終了するかどうかを返します。

false の時は irb を終了します。true の時は以下のように動作します。

入力中

これまで入力したものをキャンセルしトップレベルに戻る.

実行中

実行を中止する.

デフォルト値は true です。

[SEE_ALSO] IRB::Context#ignore_sigint=

ignore_sigint=(val)[permalink][rdoc][edit]

Ctrl-C が入力された時に irb を終了するかどうかを val に設定します。

.irbrc ファイル中で IRB.conf[:IGNORE_SIGINT] を設定する事でも同様の操作が行えます。

[PARAM] val:
false を指定した場合、Ctrl-C の入力時に irb を終了します。 true を指定した場合、Ctrl-C の入力時に以下のように動作します。
入力中

これまで入力したものをキャンセルしトップレベルに戻る.

実行中

実行を中止する.

[SEE_ALSO] IRB::Context#ignore_sigint

inspect -> String[permalink][rdoc][edit]
to_s -> String

自身を人間に読みやすい文字列にして返します。

inspect? -> bool[permalink][rdoc][edit]

IRB::Context#inspect_mode が有効かどうかを返します。

[RETURN]
出力結果に to_s したものを表示する場合は false を返します。それ以外の場合は true を返します。

[SEE_ALSO] IRB::Context#inspect_mode, IRB::Context#inspect_mode=

inspect_mode -> object | nil[permalink][rdoc][edit]

実行結果の出力方式を返します。

[SEE_ALSO] IRB::Context#inspect_mode=

inspect_mode=(opt)[permalink][rdoc][edit]

実行結果の出力方式を opt に設定します。

[PARAM] opt:
以下のいずれかを指定します。
false, :to_s, :raw

出力結果を to_s したものを表示します。

true, :p, :inspect

出力結果を inspect したものを表示します。

:pp, :pretty_inspect

出力結果を pretty_inspect したものを表示します。

:yaml, :YAML

出力結果を YAML 形式にしたものを表示します。

:marshal, :Marshal, :MARSHAL, Marshal

出力結果を Marshal.#dump したものを表示します。

[SEE_ALSO] irb/実行結果の出力方式

io -> IRB::InputMethod[permalink][rdoc][edit]

ライブラリ内部で使用します。

io=(val)[permalink][rdoc][edit]

ライブラリ内部で使用します。

irb -> IRB::Irb[permalink][rdoc][edit]

ライブラリ内部で使用します。

irb=(val)[permalink][rdoc][edit]

ライブラリ内部で使用します。

irb_name -> String[permalink][rdoc][edit]

起動しているコマンド名を文字列で返します。

[SEE_ALSO] IRB::Context#irb_name=

irb_name=(val)[permalink][rdoc][edit]

起動しているコマンド名を val に設定します。

[PARAM] val:
コマンド名を String で指定します。

[SEE_ALSO] IRB::Context#irb_name

irb_path -> String[permalink][rdoc][edit]

ライブラリ内部で使用します。

irb_path=(val)[permalink][rdoc][edit]

ライブラリ内部で使用します。

last_value -> object[permalink][rdoc][edit]

irb 中での最後の実行結果を返します。

load_modules -> [String][permalink][rdoc][edit]

irb の起動時に -r オプション指定で読み込まれたライブラリ、~/.irbrc などの設定ファイル内で IRB.conf[:LOAD_MODULES] 指定で読み込まれたライブラリの名前の配列を返します。

main -> object[permalink][rdoc][edit]

self に設定されたオブジェクトを返します。

[SEE_ALSO] cwws コマンド

prompt_c -> String[permalink][rdoc][edit]

式が継続している時のプロンプトを表現するフォーマット文字列を返します。

[SEE_ALSO] IRB::Context#prompt_c=, irb/プロンプトのカスタマイズ

prompt_c=(val)[permalink][rdoc][edit]

式が継続している時のプロンプトを表現するフォーマット文字列を val に設定します。

[PARAM] val:
フォーマットを文字列で指定します。指定できる内容については、 irb/プロンプトのカスタマイズ を参照してください。

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

[SEE_ALSO] IRB::Context#prompt_mode, IRB::Context#prompt_mode=, IRB::Context#prompt_c, irb/プロンプトのカスタマイズ

prompt_i -> String[permalink][rdoc][edit]

通常のプロンプトを表現するフォーマット文字列を返します。

[SEE_ALSO] IRB::Context#prompt_i=,irb/プロンプトのカスタマイズ

prompt_i=(val)[permalink][rdoc][edit]

通常のプロンプトを表現するフォーマット文字列を val に設定します。

[PARAM] val:
フォーマットを文字列で指定します。指定できる内容については、 irb/プロンプトのカスタマイズ を参照してください。

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

[SEE_ALSO] IRB::Context#prompt_mode, IRB::Context#prompt_mode=, IRB::Context#prompt_i, irb/プロンプトのカスタマイズ

prompt_mode -> Symbol[permalink][rdoc][edit]

現在のプロンプトモードを Symbol で返します。

オリジナルのプロンプトモードを定義していた場合はそのモードを返します。そうでない場合は、:DEFAULT、:CLASSIC、:SIMPLE、:INF_RUBY、:XMP、:NULL のいずれかを返します。

定義済みのプロンプトモードの内容については、IRB.conf[:PROMPT][mode] を参照してください。

[SEE_ALSO] IRB::Context#prompt_mode=, irb/プロンプトのカスタマイズ

prompt_mode=(mode)[permalink][rdoc][edit]

プロンプトモードを mode に設定します。

[PARAM] mode:
プロンプトモードを Symbol で指定します。オリジナルのプロンプトモードか、:DEFAULT、:CLASSIC、:SIMPLE、:INF_RUBY、 :XMP、:NULL のいずれを指定してください。

[SEE_ALSO] IRB::Context#prompt_mode, irb/プロンプトのカスタマイズ

prompt_n -> String[permalink][rdoc][edit]

継続行のプロンプトを表現するフォーマット文字列を返します。

[SEE_ALSO] IRB::Context#prompt_n=, irb/プロンプトのカスタマイズ

prompt_n=(val)[permalink][rdoc][edit]

継続行のプロンプトを表現するフォーマット文字列を val に設定します。

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

[SEE_ALSO] IRB::Context#prompt_mode, IRB::Context#prompt_mode=, IRB::Context#prompt_n, irb/プロンプトのカスタマイズ

prompt_s -> String[permalink][rdoc][edit]

文字列中のプロンプトを表現するフォーマット文字列を返します。

[SEE_ALSO] IRB::Context#prompt_s=, irb/プロンプトのカスタマイズ

prompt_s=(val)[permalink][rdoc][edit]

文字列中のプロンプトを表現するフォーマット文字列を val に設定します。

[PARAM] val:
フォーマットを文字列で指定します。指定できる内容については、 irb/プロンプトのカスタマイズ を参照してください。

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

[SEE_ALSO] IRB::Context#prompt_mode, IRB::Context#prompt_mode=, IRB::Context#prompt_s, irb/プロンプトのカスタマイズ

prompting? -> bool[permalink][rdoc][edit]

ライブラリ内部で使用します。

rc -> bool[permalink][rdoc][edit]
rc? -> bool

~/.irbrc などの設定ファイルがあれば読み込みを行うかどうかを返します。

[RETURN]
設定ファイルの読み込みを行う場合は true を返します。行わない場合(irb の起動時に -f オプションを指定した場合)は false を返します。
return_format -> String[permalink][rdoc][edit]

irb のプロンプトでの評価結果を表示する際のフォーマットを文字列で返します。

[SEE_ALSO] IRB::Context#return_format=, sprintf フォーマット

return_format=(val)[permalink][rdoc][edit]

irb のプロンプトでの評価結果を表示する際のフォーマットに val を設定します。

[SEE_ALSO] IRB::Context#return_format, sprintf フォーマット

IRB::Context#prompt_mode の変更に影響を受ける事に注意してください。

set_last_value(value) -> object[permalink][rdoc][edit]

ライブラリ内部で使用します。

thread -> Thread[permalink][rdoc][edit]

現在のスレッドを返します。

[SEE_ALSO] Thread.current

use_readline -> bool | nil[permalink][rdoc][edit]
use_readline? -> bool | nil

readline を使うかどうかを返します。

[RETURN]
戻り値よって以下のように動作します。
true

readline ライブラリを使う

false

readline ライブラリを使わない

nil

inf-ruby-mode 以外で readline ライブラリを利用しようとする (デフォルト)

動作を変更するためには .irbrc ファイル中で IRB.conf[:USE_READLINE] の設定や irb 起動時に --readline オプション、--noreadline オプションの指定を行います。

verbose -> bool | nil[permalink][rdoc][edit]

標準出力に詳細なメッセージを出力するように設定されているかどうかを返します。

IRB::Context#verbose? とは別のメソッドである事に注意してください。

[RETURN]
詳細なメッセージを出力するように設定されている場合は true を返します。そうでない場合は false か nil を返します。

[SEE_ALSO] IRB::Context#verbose?, IRB::Context#verbose=

verbose=(val)[permalink][rdoc][edit]

標準出力に詳細なメッセージを出力するかどうかを val に設定します。

.irbrc ファイル中で IRB.conf[:VERBOSE] を設定する事でも同様の操作が行えます。

false や nil を指定した場合でも、IRB::Context#verbose? が true を返す場合は詳細なメッセージを出力する事に注意してください。

[PARAM] val:
true を指定した場合、詳細なメッセージを出力します。false や nil を指定した場合、詳細なメッセージを出力しません。

[SEE_ALSO] IRB::Context#verbose, IRB::Context#verbose?

verbose? -> bool | nil[permalink][rdoc][edit]

標準出力に詳細なメッセージを出力するかどうかを返します。

[RETURN]
詳細なメッセージを出力する場合は true を返します。そうでない場合は false か nil を返します。

設定を行っていた場合(IRB::Context#verbose が true か false を返す場合)は設定した通りに動作します。設定を行っていない場合は、ファイルを指定して irb を実行した場合などに true を返します。

[SEE_ALSO] IRB::Context#verbose, IRB::Context#verbose=

workspace -> IRB::WorkSpace[permalink][rdoc][edit]

ライブラリ内部で使用します。

workspace=(val)[permalink][rdoc][edit]

ライブラリ内部で使用します。

定数

IDNAME_IVARS -> [String][permalink][rdoc][edit]

ライブラリ内部で使用します。

NOPRINTING_IVARS -> [String][permalink][rdoc][edit]

ライブラリ内部で使用します。

NO_INSPECTING_IVARS -> [String][permalink][rdoc][edit]

ライブラリ内部で使用します。