2008-05-01から1ヶ月間の記事一覧
LuaForgeにプロジェクトページでも作ってみるか!といきおいでアカウント作っちゃいました。でもプロジェクト申請する度胸が出ないよ困った!
今日の成果:http://hzkr.kokage.cc/lulu4.zip コルーチンと getfenv/setfenv 実装しました。あと、今回はインチキして loadfile 関数でホストのLuaにコンパイル処理をやってもらうことにしたので、luac の出力ではなく、直接 .lua のソースも実行できるよう…
ここまでグローバル変数の扱いすっごく適当に見てたんですけど、 Foo = {x = 100} (function () setfenv(1, Foo) y = 2 z = x + y end)() print(Foo.x) -- 100 print(Foo.y) -- 2 print(Foo.z) -- 102 setfenv/getfenvというので、グローバル変数の参照する…
Luaには「coroutine(コルーチン)」という機能があって、Lua 5.0のVMのデザインもこれを楽に実装するために採用された面もあるらしいので、VMを学ぶにあたって重要なポイントです。こんな機能。 function countUp() local n = 0 while true do coroutine.yi…
今回は、割と言語のコアな部分だけれど(VMじゃなくて)ライブラリ実装になってる部分を拾っておきます。
Yueliang - Lua 5 in Lua てのを知りました。Lua 5 in Lua って、うわーネタかぶってるってレベルじゃねーぞ!と思ったけど、こちらは今のところフロントエンド (ソーステキストをVMのコードにコンパイルするまで)の実装のようでした。LuLu と組み合わせら…