Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > irb/contextライブラリ > IRB::Contextクラス

class IRB::Context

クラスの継承リスト: IRB::Context < Object < Kernel < BasicObject

要約

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
インスタンスメソッド
__inspect__ __to_s__ ap_name ap_name= auto_indent_mode auto_indent_mode= back_trace_limit back_trace_limit= debug? debug_level debug_level= echo echo? echo= evaluate exit file_input? ignore_eof ignore_eof? ignore_eof= ignore_sigint ignore_sigint? ignore_sigint= inspect to_s inspect? inspect_mode inspect_mode= io io= irb irb= irb_name irb_name= irb_path irb_path= last_value load_modules main prompt_c prompt_c= prompt_i prompt_i= prompt_mode prompt_mode= prompt_n prompt_n= prompt_s prompt_s= prompting? rc rc? return_format return_format= set_last_value thread use_readline use_readline? verbose verbose= verbose? workspace workspace=
定数
IDNAME_IVARS NOPRINTING_IVARS NO_INSPECTING_IVARS

特異メソッド

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

自身を初期化します。

[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]

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

__to_s__ -> String[permalink][rdoc]

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

ap_name -> String[permalink][rdoc]

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

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

[SEE_ALSO] IRB::Context#ap_name=

ap_name=(val)[permalink][rdoc]

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

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

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

[SEE_ALSO] IRB::Context#ap_name

auto_indent_mode -> bool[permalink][rdoc]

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

デフォルト値は false です。

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

[SEE_ALSO] IRB::Context#auto_indent_mode=

auto_indent_mode=(val)[permalink][rdoc]

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

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

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

[SEE_ALSO] IRB::Context#auto_indent_mode

back_trace_limit -> Integer[permalink][rdoc]

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

デフォルト値は 16 です。

[SEE_ALSO] IRB::Context#back_trace_limit=

back_trace_limit=(val)[permalink][rdoc]

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

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

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

[SEE_ALSO] IRB::Context#back_trace_limit

debug? -> bool[permalink][rdoc]

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

デフォルト値は true です。

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

debug_level -> Integer[permalink][rdoc]

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

デフォルト値は 1 です。

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

debug_level=(val)[permalink][rdoc]

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

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

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

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

デフォルト値は false です。

[SEE_ALSO] IRB::Context#echo=

echo=(val)[permalink][rdoc]

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

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

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

[SEE_ALSO] IRB::Context#echo

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

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

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

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

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

[SEE_ALSO] IRB.irb_exit

file_input? -> bool[permalink][rdoc]

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

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

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

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

デフォルト値は false です。

[SEE_ALSO] IRB::Context#ignore_eof=

ignore_eof=(val)[permalink][rdoc]

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]
ignore_sigint? -> bool

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

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

入力中

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

実行中

実行を中止する.

デフォルト値は true です。

[SEE_ALSO] IRB::Context#ignore_sigint=

ignore_sigint=(val)[permalink][rdoc]

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]
to_s -> String

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

inspect? -> bool[permalink][rdoc]

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]

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

[SEE_ALSO] IRB::Context#inspect_mode=

inspect_mode=(opt)[permalink][rdoc]

実行結果の出力方式を 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]

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

io=(val)[permalink][rdoc]

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

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

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

irb=(val)[permalink][rdoc]

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

irb_name -> String[permalink][rdoc]

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

[SEE_ALSO] IRB::Context#irb_name=

irb_name=(val)[permalink][rdoc]

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

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

[SEE_ALSO] IRB::Context#irb_name

irb_path -> String[permalink][rdoc]

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

irb_path=(val)[permalink][rdoc]

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

last_value -> object[permalink][rdoc]

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

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

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

main -> object[permalink][rdoc]

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

[SEE_ALSO] cwws コマンド

prompt_c -> String[permalink][rdoc]

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

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

prompt_c=(val)[permalink][rdoc]

式が継続している時のプロンプトを表現するフォーマット文字列を 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]

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

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

prompt_i=(val)[permalink][rdoc]

通常のプロンプトを表現するフォーマット文字列を 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]

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

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

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

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

prompt_mode=(mode)[permalink][rdoc]

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

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

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

prompt_n -> String[permalink][rdoc]

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

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

prompt_n=(val)[permalink][rdoc]

継続行のプロンプトを表現するフォーマット文字列を 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]

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

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

prompt_s=(val)[permalink][rdoc]

文字列中のプロンプトを表現するフォーマット文字列を 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]

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

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

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

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

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

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

return_format=(val)[permalink][rdoc]

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

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

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

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

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

thread -> Thread[permalink][rdoc]

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

[SEE_ALSO] Thread.current

use_readline -> bool | nil[permalink][rdoc]
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]

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

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

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

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

verbose=(val)[permalink][rdoc]

標準出力に詳細なメッセージを出力するかどうかを 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]

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

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

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

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

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

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

workspace=(val)[permalink][rdoc]

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

定数

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

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

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

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

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

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