- 129 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 12:27:46 ]
- luabindはboostまわりで環境(バージョン)依存するし、tolua++使ってるわ。
>>118で何を実現したかったのか見えなかったんだけど、 setfenvとかはあくまでグローバルテーブルが取れるだけだし、 localとupvalueが取れないのは仕様上しょうがない・・・。 debugライブラリ使ってもいいけど、安全上の問題が・・・とかマニュアルに書いてある。 んで、今luaのソースちょっと見てみたら、 ローカル変数は数値インデックスで管理されてて、テーブルになってない。 バイトコード上ではほぼ名前は省かれてて、「このインデックスのローカルにこのインデックスのローカルを代入」みたいな 処理になってると思われる。 グローバル変数をlocalに代入してから処理したほうが高速、といわれるのはこういう理由なのね。 グローバル汚す可能性についてはグローバルのメタテーブルの__newindexをいじくって 制限をつければいいと思う。
|

|