リフレクションてすごい

プログラミング言語Ruby』で未読だった後半を読んだ。クラス、モジュールあたりの説明で、諸々かなりスッキリした。言語キーワードに見えた「attr_accessor :hoge」のようなやつらが、実はClassクラスにミックスインされているModuleクラスのプライベートメソッドだったというのに妙に感動した。Kernelモジュールが面白そう。

リフレクションの使用例に目から鱗が落ちた。あるクラスのメソッドを一旦全部undefしてトレーシングのフックを入れてエイリアスを作り、後は元のオブジェクトに委譲とか。そんな使い方があったのか。えぐい。

REPL環境のirbで、メソッドのミスタイプをzshのようにダイナミックに修正するのって簡単にできそうな気がした。method_missingでミスタイプを受け取って、編集距離が1の文字列の集合を作って定義済みメソッドをルックアップとか。