- 41 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 15:57:59 ]
- >>40
スクリプト言語的にはメタメソッドも通常のメンバのように見えているべきなんだけど、 おそらく動作効率上の問題でそうなっているんだろうね。 メタメソッドの存在チェックはAPIが存在しないかもしれない。 Sqratがちょうどそんな実装で、バインドしたメンバの一覧に_getで呼び出されたメンバ名が存在しない場合、 エラーを返さずに何もしないものだから、 Squirrelインタプリタは返ってきたnullに対してメタメソッドの呼び出しをかけようとして失敗してる、んだったかな。 とにかくバインダ側で登録する_getは、管轄外メタメソッド呼び出しに対してはfalseまたは例外を返してあげないといけない。 Squirrelインタプリタの実装側ももうちょっとやりようがありそうな気がするけどね。
|

|