Lua in MinGW

最近新しくプログラミング言語を触っていないなあということで、
今年になってLuaのソースをダウンロードしてきてmakeしたりしていた。
プラットフォームがWindowsでもlua-users wikiのBuilding Luaの項目にあるように、
様々なツールチェーンでLuaをビルドできる。
手元のMinGW+MSYS環境でバージョン5.2をビルドしたが全く問題なくできた。
が、それだけやった後、何も進んでいなかった。
すると、数日前にMinGWのExtensionにLuaが新規にパッケージとして加わった。
MinGWでビルドしたもので何かやる前に本家にパッケージが追加されてしまった……

というわけで、いい機会なのでLuaにきちんと触ってみることにした。
LuaについてはCプログラムのカスタマイズポイントに組み込んで楽をする、というようなイメージがあるだけで、
具体的なことは何も知らない状態である。
Luaの公式ページにはチュートリアルがなさそうな感じで、
とりあえずリファレンスマニュアルを読んでみる。
あとは公式ページのFAQとlua-usersの情報が使えるかもしれない。

新たに学ぶプログラミング言語でとりあえずはじめにやるべきことをする。
MSYS上のbashで実行した。

$ lua --help
...snip... lua.exe: unrecognized option '--help'
usage: ...snip... lua.exe [options] [script [args]]
Available options are:
  -e stat  execute string 'stat'
  -i       enter interactive mode after executing 'script'
  -l name  require library 'name'
  -v       show version information
  -E       ignore environment variables
  --       stop handling options
  -        stop handling options and execute stdin
$ lua -i
Lua 5.2.0  Copyright (C) 1994-2011 Lua.org, PUC-Rio
> print 'hello world'
hello world
> os.exit()
$ 

すごく素直なスクリプト言語なので当てずっぽうでもhello worldを打てた。
ただ、Luaのインタラクティブモードを終了させる方法os.exit()は、
リファレンスマニュアルのLua Standaloneの項を読まないとさすがに分からなかった。
Ctrl+Dでは終わらない。exitやquitでもない。Ctrl+Cで終了させることはできたがスマートではないので。
ヘルプについては--helpで起動するよりまずman luaすればよかったか。

今後、少しずつマニュアル等を読んで、何か使うのに適した課題ができたら使ってみよう。