Ads by Google
新しい記事を書く事で広告が消せます。
管理人(はむ!)は最近スクリプト言語Lua(るぁ)に入れ込んでいます。Luaとはポルトガル語で「月」。
今まで公開してきたLuaのSJIS版パッケージでは、最近公開されている各種モジュール類との相性が良くない状態でしたので、
LuaBinariesのスタイルに従ったバージョンを作成しました。です。
SJIS対応版ソース + exe + VC++6.0/VC++2005プロジェクト
lua5_1_3_Win32_mbenc_a2.zip (2008/6/26 1133892byte)
その他Lua関連ダウンロードエリア においてありますので、持っていってください。
基本的には、LuaBinariesのlua5_1_3_Sources.zipのsrc内にSJIS化パッチを当ててビルドしなおしたものです。
ただし、リンク方法など一部変えています。
自作プログラムからLuaライブラリをリンクする場合についての注意事項です。
今までのパッケージでlualib.libをリンクされていた方は、今回のパッケージ内のlib/static/lua5.1.libをリンクするようにすれば、
そのまま動作すると思います。
もし共有ライブラリLua5.1.dllを使用する形でのリンクが必要であれば、lib/Lua5.1.libをリンクしてください。拡張モジュールとの相性はこちらのほうが良いと思われます。
※ちなみに、メーリングリストに流れていた5.1.3のバグフィックスは公式の最新バージョン扱いにはなってないようなので、また今度で。
少し試した限りでは、どちらの方法でも、LuaProfilerやRemDebugのような公開されているモジュールをロードすることができました。
何か問題が生じるようでしたら、是非コメント、もしくはメール等でご連絡ください。
特にその手のが多いのはここらへんですね。
http://kepler-project.org/
http://luaforge.net/
それとついでに
について。
LuaRocksは、上で触れたような、Lua用の拡張モジュールのインストールを管理するプログラムです。
PerlでいうCPAN,PHPでいうPEAR,Rubyでいうgemのようなもの、と思います。
で、LuaだとRockだ、というわけです。
・・・月の石?
それともロッケンローなほうでしょうか。
なんか斜め上な感じもしますが・・・。
ま、何にしても、Luaのコマンドライン環境改善のためには結構大きい要素かもしれません。
まあ、つまり、LuaRocksをインストールしてから、コマンドラインで
luarocks install xavante
と打てば、
Luaで書かれたウェブサーバーXavanteと、それを動かすために必要なCopasとかいろいろが
自動的にダウンロード、展開されて、インストールされるというわけです。
まあ、Xavanteの使い方はまださっぱりですけど。
Erlangのウェブサーバーが非同期IOとコルーチン使ってC10K問題突破か、みたいな話題もあって、
Luaのコルーチンだとどんなもんかな、と少し興味があったりするわけです。まあそれは置いといて。
LuaRocksのインストールは、このあたりからファイルを持ってきて、
install.batの先頭あたりにあるディレクトリ指定を適当に書き換えて、実行。
UNIX系だとconfigure/makeみたいですね。
で、インストール先にパスを通しておいて、
Lua5.1.exe -lluarocks.require ターゲット.lua
みたいな感じで実行できそうです。
こうすると、requireの動作を置き換えて、LuaRocksの構造に対応するようにするんだそうな。
で、SJIS版との関連ですけど、LuaRocksのインストールディレクトリにある
lua5.1.dll をSJIS版の lua5.1.dll に
lua5.1.exe をSJIS版の lua5.1dll.exe に
wlua5.1.exe をSJIS版の wlua5.1dll.exe に
それぞれ置き換えると、SJIS対応になるかもです。(すいません、未確認でございます・・・)
DLL置き換えだけでもいけるかも。
SJISを使う理由ですが、
Luaでファイルシステムを扱うlfs(LuaFileSystem)とかいうモジュールもあるんですけど、
結局WindowsだとSJISでやんないとディレクトリ構造も扱えないんですよね。
(まあ、SJIS版でできるのは、Luaコード内に埋め込んだSJIS文字列を解釈するだけで、実行時の動作は変わらないんですが)
ついでに、Lua上の正規表現は、Luaの開発元あたりではLPegというのを進めてるようですが、
せめてPython程度、UTF-8を1文字ずつ扱えないと使えない気がするんですよね。
できればRubyみたいに鬼車を持ってきたいところです。組み込んでみたことはあるんですが。
なんか愚痴っぽくなってきたのでおしまい!
2008.06.26 | Comments(0) | Trackback(0) | Lua
新しい記事へ << | HOME | >> 古い記事へ
Author:はむ!
よく使う言語・環境:
C++,C,Lua,java,VBA,DB
たまにPHPとかjavascript
血液型:O型
メール: lua%ham.nifty.jp
(%を@に変えてください)
01/10 1/17のIGDA日本ゲームテクノロジー研究会(SIG-GT)第12回研究会「ゲームにおけるスクリプト言語の現状」に出ます