もっとLuaを触ってみる。

ゲーム中オブジェクトのパラメータ設定や制御をできるように。楽しくなってきた。こいつは使いこなせればかなり使えそう。
最初は奇妙に感じたスタック操作にも慣れてきた。とはいえかなり面倒くさいので理解したらラッパを作ろう。

微妙に気になるユーザーデータの扱い。文字列、数値などの組み込み型の場合は型チェックを行うこともできるのだけれど、ユーザーデータのやり取りをする場合、void*を渡して、それをキャストしまくって使うことになるため、間違ったデータを渡されると簡単に暴走してしまう。なんかいいユーザーデータの型チェック方はないかなぁ。

Lua側からC++のクラスを扱いたいような場合、ひたすら似たようなアクセッサ関数を書いていく羽目になる。これが非常にダルい。直接C++クラスのメンバ関数を呼び出せれば最高なんだけれど。アクセッサ関数を作るのはboost::mplあたりを使えば楽できるんだろうか。luabindはどういう実装になっているんだろう。

少し不満なのがテーブルや文字列の添字がCのように0から始まるのではなく1から始まるって所。Cとの親和性を謳うなら、そういうところもCと同じにしてほしかった。慣れれば気にならないけれど。