JavaScript でメソッド名自動生成2006年05月18日 04時07分

JavaScript でもメソッド名自動生成はできる……といっていいんだろうか? JavaScript の一実装に過ぎない SpiderMonkey の独自拡張機能にあるだけで ECMAScript はもちろん JScript でもできないからダメかな? まあ一応できる実装もある。「404 Blog Not Found:Perl Monger の質問 - AUTOLOADって他でどうやるの?」で挙げられていた例でいうとこんな感じ。

// SpiderMonkey のみ (Firefox など)

function UnicodeChar() {}

UnicodeChar.prototype.__noSuchMethod__ = function (name) {
  var c = String.fromCharCode(name.replace(/^u/, "0x"));
  return (this[name] = function () {return c;})();
};

var u = new UnicodeChar();
alert(u.u5c0f() + u.u98fc() + u.u5f3e()); // 小飼弾

一応 perl の goto &$AUTOLOAD に相当するものだと思うけど perl は詳しくないから外してるかも。それから ActionScript には __resolve とか flash.util.Proxy とかがあるらしいからそれでいけるのかな? あとは JavaScript 2 でそこらあたりが標準でサポートされるみたいだからそれを待つか。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
「ハイパーテキストマークアップ言語」をアルファベット4文字でいうと?

コメント:

トラックバック

このエントリのトラックバックURL: http://nanto.asablo.jp/blog/2006/05/18/369784/tb