lua を使ってみた †男もすなる 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".. [[の表示]]) みたいな書き方も許される。 |