Hirofumi Fujii Start Page

lua を使ってみた

男もすなる filelua といふものを、我もしてみむとて、するなり。

install

Install した環境は MSYS/MinGW。Package は lua-5.1.4.tar.gz。 しかし、configure が無い。

make mingw

で make。

make install

で install なのだが、install 先は /usr/local 以下になっている ので、変えようとするなら Makefile を編集する必要がある。御多聞に漏れず 筆者の mingw の環境でも install 先は /usr/local ではないので、 書き換え。

Make で lua と luac (compiler) と liblua.a と lua51.dll が作られるが make install しても library 関係の install がうまくいかない。手で入れた。

また、lua と luac は、Windows executable であるが、.exe が付けられない ので、MSYS 以外からは起動できない。lua.exe と luac.exe に rename した。

あと、header file、luaconf.h も手で直す必要がありそうだ。

日本語文字列

文字列は引用符(" or ')の対で囲まれた部分であるが、C と同様の escape が あるので、Shift_JIS の文字コードの片割れに escape 文字が含まれている 文字は悲惨なことになる。例えば

print("機構名の表示")

を Shift_JIS で作って(「構」と「表」が問題) lua に食わせると、 変な文字を吐く。

しかし、しかし、しかし、、xml の CDATA みたいな書き方ができる。

print([[機構名の表示]])

とすればうまくいく。[[ は漢字 code には一致しないので。心配なら

print([=====[機構名の表示]=====])

とでもすればよい。途中の = の数はいくつでもよい。対になっていることが 重要。[[ は = の数 0 の場合に相当。

このやり方では、escape 文字が使えない(CDATA と同じく、すべて そのまま出力される)が、文字列の連結は .. で行えるので、 引用符と適宜組み合わせれば escape 文字による表記も使える。

print([[機構名]]..
  "\n"..
  [[の表示]])

みたいな書き方も許される。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-10-09 (金) 15:45:02