メタプログラミングRuby 二日目を読んだ
Module#method_missing() と define_method(), Object#send() あたり.
AUTOLOAD(=CANDO) と 動的定義か.
multi CANDO (MyPackage, $type, $name, *%args --> Container) { ... } my $name = '&' . 'aaa'; ::<$name> = method { ... }
みたく,CANDO とか動的定義でできそうだけど,
そもそもCANDO は呼ばれないような…
まだ実装されてないのかねぇ.*1
動的定義もできない?
あと eval 以外にできるのかな?
(2011/02/20 追記)
動的定義は,add_method を使えばいいのか.
メタプログラミングRuby
posted with amazlet at 11.02.20