2003-12-01から1ヶ月間の記事一覧

Luabind

Lua

http://luabind.sourceforge.net/ メタプログラム系のC++ラッパ。lua_stateの取り回し方法として module(L) [ //lua_state Lの有効範囲 ]; と記述させるのはもはや感動的ですらある。C++を読んでいるとは思えん。本当に動くのかこれ^^;と思ったら現在beta…

覚書き

Lua

関数名を指定せずにcallした場合http://lua-users.org/wiki/CppLuaDataPassingTutorialグローバルが実行される……のかな? という事は、グローバルコードはロードされただけでは実行されないって事? ああ、まあそりゃそうか グローバルのチャンク=グローバ…

で、なにが言いたいのかというと

理解はできるんだけど、lua_getglobalっていう名前は直感的じゃ無いですよ旦那(笑)lua_pushLuaFuctionとかに#defineしますかねー、、、

環境テーブル

環境テーブルとはなんでしょうか? Luaでは、グローバルに記述したあらゆるコードは環境テーブルのフィールド要素として格納されます。関数は、関数名をキー、関数の中身を値として連想配列に格納します。値として格納されるのは、実際には関数への参照を持…

lua_getglobal

lua_getglobalは、以下のようなマクロです。文字列をスタックトップに積んだ後に、その文字列をキーにして、環境テーブルを検索し、対応するキーをスタックトップと差し替えます。 #define lua_getglobal(L,s) \ (lua_pushstring(L, s), lua_gettable(L, LUA…

内部関数呼び出し

Lua

C++からLua内の関数を呼び出す際、関数名をlua_getglobalでスタックに積むわけですが、なぜ「lua_getglobal」なのでしょうか? 以下に解説します

作業中

Lua

毎回lua_stateを渡さなければならないCっぽさがむかつくので、lua_stateをラップするだけの単純なC++クラスを作っていたのですが、よく考えたら、Luaから呼び出されるC関数は、引数にlua_stateを取るので、その時このクラスは役に立たない(もげー)。な…

Luaについて気になる事

日本語の資料が少ないですね。元々特殊なライブラリがあるわけでもないので、サンプルコードを作る程でも無いのでしょうが、、、。 気になるのは、4.0でタグメソッドという、なんというか、Luaでオブジェクト指向言語もどきを実現する技術があったのですが、…

Luaリファレンスマニュアル読了

Lua5.0のリファレンスマニュアルが読み終わりました(日本語訳を作った方に感謝)。もしかしたら今後数年間使い続ける事になるかもしれない言語なので、導入には慎重になります。基本的には問題なさそう。 注目すべきは「たいしたことができない」事でしょう…

組み込み指向スクリプト(?)Lua

Lua

年内の作業は、まずLuaをタスクシステムに組み込む事です。LuaはVBやPascalライクなスクリプト言語で、言語思想自体が別言語から呼び出される事を前提に設計されており、多くのソフトウェアで採用されている、オープンソースな言語です。 コト、ゲームにおい…

今後の方針決定

次のプロジェクトがC++ベースになることが決定してしまった為、YaneSDK4D*1を利用する事が出来なくなってしまいました。そんなわけで、独自にYaneSDK3rdの拡張(というかライブラリの追加)を行うことになりました(トホホ……)。 *1:奇跡のゲームライブラリY…

C言語のアルゴリズム辞典を読んでいると

"getchar()でEOFを取得したらプログラム終了"みたいなコードが散見するんですが、その「EOF」とやらを打ち込む方法がわからないよ!(笑)EOFのエスケープシーケンスは「^Z」です

最近気になっている物

YAMLというXMLの簡易記述フォーマット(だと思う)。 これ、パーサの実装は結構あるみたいなんだけど、仕様書の日本語訳が見つから無い。なんでだろう? ……とか行ってたら、RubyでもD言語でもパーサの実装があるわ、誰でも話題にしているわでちょっとビック…

自分がプログラマであると言い切れない理由

仕事ではイントラ内Webシステムしか作ってない自分にはわかりやすいコンプレックスがあります。アプリケーションが作れない。はずかしっ

プログラミングの限界を感じるとき

みはえるはプログラミング哲学として「同じ事を記述するのに複数の方法があるのは効率が悪い」と考えています。これは、あまり多く賛同を得られないようです^^;。 なぜこう考えているかと言うと、多人数でプログラミングする際に、人によって異なるコーデ…

C99を知ってますか?

D言語リファレンスを和訳されたK.INABAさんに、トークンの説明の訳について質問メールをしたところ、面白い話を聞かせて頂きました。ちなみに質問自体は原文自体が間違っていて、かつみはえるの質問は的を外していました^^;C言語には、現在「C99標準」と…

目に見えない物

「オブジェクト指向スクリプト言語Ruby」を飛ばし飛ばし読みました。若輩者が言うのもなんですが、なんとまあ精緻な言語でしょうか。スクリプト言語としての特性(短いコードで必要な処理がすぐ書ける)を犠牲にせずに、オブジェクト指向言語体系が組み上げ…