コマンド:
関数ライブラリ:
クラスライブラリ:

rtags

rtagsはemacs及びvi用の, TAGファイルをつくるコマンドです.

使い方

rtags [-vi] file....

カレントディレクトリにemacs用のTAGSファイルができます. -viオプションを つけた時にはvi用のtagsファイルを作成します.

emacsの場合, 通常のetags.elがそのまま使えます. 検索可能なのは,

です.

Cなどで使っているのと違うのは, コンプリーションに関する部分で,

関数名は,

関数名(

クラスは,

:クラス名::....::クラス名

メソッドは,

:クラス名::....::クラス名#メソッド名

特異メソッド(クラスメソッド)は

:クラス名::....::クラス名.メソッド名

でコンプリーションを行なうところです.

xmp.rb

ごとけんxmpの上位互換バージョンです. ただ, 非常に重いのでごとけんxmpで は対応できない時に, 使用すると良いでしょう.

使い方

関数として使う.

require "irb/xmp"
xmp <<END
foo = 1
foo
END
---
foo = 1
    ==>1
foo
==>1

XMPインスタンスを用いる.

この場合は, XMPがコンテキスト情報を持つので, 変数の値などを保持してい ます.

require "irb/xmp"
xmp = XMP.new
xmp.puts <<END
foo = 1
foo
END
xmp.puts <<END
foo
END
===
foo = 1
    ==>1
foo
    ==>1
foo
    ==>1

コンテキストに関して

XMPメソッド群のコンテキストは, 呼び出す前のコンテキストで評価されます. 明示的にコンテキストを指定するとそのコンテキストで評価します.

例:

xmp "foo", an_binding
注:

マルチスレッドには対応していません.

frame.rb

現在実行中のフレーム情報を取り扱うためのクラスです.

注:

set_trace_funcを用いてRubyの実行をトレースしています. マルチスレッドに は対応していません.

completion.rb

irbのcompletion機能を提供するものです.

使い方

% irb -r irb/completion

とするか, ~/.irbrc 中に

require "irb/completion"

を入れてください. irb実行中に require "irb/completion" してもよいです.

irb実行中に (TAB) を押すとコンプレーションします.

トップレベルで(TAB)を押すとすべての構文要素, クラス, メソッドの候補がで ます. 候補が唯一ならば完全に補完します.

irb(main):001:0> in    
in                    inspect               instance_eval
include               install_alias_method  instance_of?
initialize            install_aliases       instance_variables
irb(main):001:0> inspect
"main"
irb(main):002:0> foo = Object.new
#<Object:0x4027146c>

((|変数名.|))の後に(TAB)を押すと, そのオブジェクトのメソッド一覧がでま
す.

irb(main):003:0> foo.
foo.==                  foo.frozen?             foo.protected_methods
foo.===                 foo.hash                foo.public_methods
foo.=~                  foo.id                  foo.respond_to?
foo.__id__              foo.inspect             foo.send
foo.__send__            foo.instance_eval       foo.singleton_methods
foo.class               foo.instance_of?        foo.taint
foo.clone               foo.instance_variables  foo.tainted?
foo.display             foo.is_a?               foo.to_a
foo.dup                 foo.kind_of?            foo.to_s
foo.eql?                foo.method              foo.type
foo.equal?              foo.methods             foo.untaint
foo.extend              foo.nil?                
foo.freeze              foo.private_methods