From: Yukihiro Matsumoto Date: 2008-01-29T18:04:27+09:00 Subject: [ruby-dev:33499] Re: /#{}/e.encoding まつもと ゆきひろです In message "Re: [ruby-dev:33496] Re: /#{}/e.encoding" on Tue, 29 Jan 2008 17:31:32 +0900, SASADA Koichi writes: |> で、命令を増やすのは望ましくないということなんですが、ならば |> toregexp命令がcntオペランドを受け付けるようにして、その中で |> preprocess関数を呼ぶようにしてはどうでしょう? | | 個人的には、命令は可能ならメソッドに追い出したいなぁ、と思っていま |す。 ふーむ。VM実装者としてその要望は理解できます。 |そういう特別な機能は、freeze したオブジェクトの特異メソッドにし |ておくとか。例えば、クラス定義、メソッド定義、alias, undef なんかは |全部外に追い出したいなぁと。 クラス定義、メソッド定義、alias、undefはそれぞれ相当するメソッ ドもありますよね。だから、それほど問題もないので特に取り上げ てこなかったのですが、今回のものみたいに現状では対応するメソッ ドもないのにメソッドに追い出したいとなると、またちょっと別の 話ですね。 要するに、そのメソッドを再定義したり、変なコンテキストで呼び 出したりすることが嫌なわけです。なんかマクロに似た「嫌さ」。 再定義はいちおうfreezeで禁止できますけど、後者はねえ。 まあ、仕組みとしてはメソッド呼び出しとしておいて、そのオブジェ クト」をRubyレベルから簡単にみえなくするとかで対応できないこ とはないと思いますけど。また、相談しましょう。 まつもと ゆきひろ /:|)