メソッドを動的に呼び出したい。

今までは、メソッドを動的に呼び出したいときは、
以下の手順を踏んでいた。
1.evalでメソッドが記述されているファイルをrequire
2.evalでメソッドを実行。

ただ、この方法だとメソッドに引数を渡すのが、
うまくできなくなったんで、__send__を使うことにした。

メソッドを呼び出すメソッドを以下のような感じで書いている。

def local_exec(method)
  hs = read_config_file()
  eval('require hs[method]')
  return __send__(method.intern)

end

read_config_file()は以下のようにメソッド名と
そのファイルが配置されている場所を記述した設定ファイルを
記述したものを読み込み、hashに格納してくれる。

hello : ./abc/hello.rb


メソッドを呼び出すときは

local_exec("hello")


http://www.namikilab.tuat.ac.jp/~sasada/prog/rb1.html
極めるメソッド
http://www.ync-net.co.jp/~kaz/diary/?date=20060502#p01