人気ブログランキング | 話題のタグを見る

irb の起動

irb の起動はコマンドプロンプトから >irb と入力するが、このとき実行されるのは

ruby/bin/irb

というファイルだ。実際にはこのファイルから次のように irb のコードファイル群が呼び出されてプログラムが実行される。

ruby/bin/irb --(require)--> ruby/lib/ruby/1.8/irb.rb --(require)--> ruby/lib/ruby/1.8/irb/(irb のファイル群)

ちなみに ruby/bin/irb では、require 'irb' と IRB.start(pathname) を実行しているだけだ。

従ってコマンドプロンプトから、

ruby -e "require 'irb'; IRB.start'"

と入力すると irb が動き始めてしまう。ということは、自分のプログラムの中から irb が呼び出せてしまう。それで、次のような use_irb.rb というファイルを作って動かしてみた。

ファイル名 use_irb.rb

require 'irb'

def hello()
  puts "hello, world"
end

IRB.start

実行例は下のようになる。

>ruby use_irb.rb
irb(main):001:0> hello
hello, world

irb を自分のプログラムを実行するためのシェルにカスタマイズできてしまった。(?)

ということは、自分の開発しているクラスファイルの最後に次のように記述しておくと、そのクラスファイルを ruby で実行するだけで、irb が立ち上がってプログラムのテストができる。

class MyClass
...
...
end

if __FILE__ == $0
  require 'irb'
  IRB.start
end
by tnomura9 | 2008-03-27 16:51 | Ruby | Comments(0)
<< instance_eval main 文 >>