Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > irbライブラリ > IrbCommandsクラス

class IrbCommands

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

Abstract

このクラスは irb のコマンドをまとめるためのプレースホルダです。 実際には IrbCommands というクラスは定義されていません。 このクラスのドキュメントに記述されているメソッドは、 irb のプロンプトでレシーバなしで使うことができます。

irb のコマンドは、 簡単な名前と頭に「irb_」をつけた名前との両方が定義されています。 これは、簡単な名前がオーバーライドされた場合にも irb のコマンドが実行できるようにするためです。

インスタンスメソッド

_

直前の式の実行結果です。

例:

$ irb
irb(main):001:0> 10
=> 10
irb(main):002:0> 2**32
=> 4294967296
irb(main):003:0> _
=> 4294967296
irb(main):004:0> _ - 2**31
=> 2147483648
irb(main):005:0>
__

実行結果の履歴です。 __[lineno] で、lineno 行で実行した結果を得られます。 lineno が負の時は、最新の結果から -lineno 行だけ前の 結果を得られます。

この変数はデフォルトでは使えません。 この変数を使用するには、あらかじめ .irbrc などで conf.eval_history の値を指定しておかなければいけません。

例:

$ irb
irb(main):001:0> conf.eval_history = 100
=> 100
irb(main):002:0> 1 + 2
=> 3
irb(main):003:0> 'hoge' + 'foo'
=> "hogefoo"
irb(main):004:0> __[2]
=> 3
irb(main):005:0> __[3]
=> "hogefoo"
irb(main):006:0> __[-1]
=> "hogefoo"
irb(main):007:0>

履歴の保存

さらに、.irbrc で以下のように conf.save_history の値を指定しておくと、 実行結果の履歴がファイルに保存されます。

IRB.conf[:SAVE_HISTORY] = 100

履歴ファイルの名前はデフォルトでは ~/.irb_history です。 履歴ファイルの名前は IRB.conf[:HISTORY_FILE] で指定できます。

cws([obj])
chws([obj])
irb_cws([obj])
irb_chws([obj])
irb_change_workspace([obj])

irb の self を obj に変更します。 obj が省略されたときは、 irb を起動したときの main オブジェクトを self にします。

conf
irb_context

irb の現在の設定です。IRB::Context オブジェクトです。 このメソッドで得た IRB::Context オブジェクトに対してメソッドを 呼び出すことで、現在稼働中の irb インタプリタの設定を表示・変更できます。

exit
quit
irb_exit

irb を終了します。 サブ irb で呼び出した場合は、そのサブ irb だけを終了します。

fg(n)
irb_fg(n)

n で指定したサブ irb に移動します。 n は以下のいずれかの値で指定します。

  • irb インタプリタ番号
  • irb オブジェクト
  • スレッド ID
  • 各インタプリタの self (「irb(obj)」で起動した時の obj)
irb([obj])

新しいサブ irb インタプリタを起動します。 オブジェクト obj が指定された時はその obj を self にします。

jobs
irb_jobs

サブ irb のリストを返します。

kill(n)
irb_kill(n)

n で指定したサブ irb を停止します。 n は以下のいずれかの値で指定します。

  • irb インタプリタ番号
  • irb オブジェクト
  • スレッド ID
  • 各インタプリタの self (「irb(obj)」で起動した時の obj)
irb_load(path, prev)

ファイル path を Ruby スクリプトとみなし、 現在の irb インタプリタ上で実行します。 Ruby の load の irb 版です。

popws
irb_popws
irb_pop_workspace

UNIX シェルコマンドの popd と同じです。

pushws([obj])
irb_pushws([obj])
irb_push_workspace([obj])

UNIX シェルコマンドの pushd と同じです。

souce(path)
irb_source(path)

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

source という名前は UNIX シェルの source コマンドに由来します。

Methods

Classes