【Lua】組み込み系言語総合 その2【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
0041デフォルトの名無しさん
2009/06/05(金) 15:57:59スクリプト言語的にはメタメソッドも通常のメンバのように見えているべきなんだけど、
おそらく動作効率上の問題でそうなっているんだろうね。
メタメソッドの存在チェックはAPIが存在しないかもしれない。
Sqratがちょうどそんな実装で、バインドしたメンバの一覧に_getで呼び出されたメンバ名が存在しない場合、
エラーを返さずに何もしないものだから、
Squirrelインタプリタは返ってきたnullに対してメタメソッドの呼び出しをかけようとして失敗してる、んだったかな。
とにかくバインダ側で登録する_getは、管轄外メタメソッド呼び出しに対してはfalseまたは例外を返してあげないといけない。
Squirrelインタプリタの実装側ももうちょっとやりようがありそうな気がするけどね。
■ このスレッドは過去ログ倉庫に格納されています