第3回まで無料

Lua 入門コース

処理系と型・テーブルとメタテーブル・クロージャとコルーチン・_ENV のサンドボックス・LuaRocks とテスト、そして C API での組み込みまで。全20レッスンで「Lua を読み書きし、自分の C プログラムに埋め込んでプラグインを動かす」ところまで進みます。出力はすべて Lua 5.5.1 と LuaJIT 2.1 で実際に動かした実測値です。

カリキュラム

全20レッスンを5つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ Lua はブラウザ内で実行できないため、第1回で入れる Lua 5.5 で試してください。5.4 と結果が違う箇所は、その都度 5.4 の出力も載せています。Neovim の設定の書き方は Neovim/Fish/Tmux 入門コースで扱います。

Chapter 1 — Lua の輪郭(第1〜4回)

Lua を入れて REPL とファイルで動かし、型・変数・関数・文字列という言語の骨格を押さえます。最後は正規表現とは違う Lua のパターンで、文字列を検索・置換するところまで進みます。

Chapter 2 — テーブル(第5〜8回)

Lua 唯一のデータ構造であるテーブルと、その振る舞いを変えるメタテーブルを押さえます。最後はテーブルでクラスを組み、ファイルをモジュールに分けて require でつなぐところまで進みます。

Chapter 3 — 言語の芯(第9〜12回)

クロージャ・コルーチン・エラー処理・数値という、Lua の動きを根っこで決めている 4 つの仕組みを押さえます。最後は 5.4 と 5.5 で表示が変わった浮動小数点まで、実測で確かめます。

Chapter 4 — 実務(第13〜16回)

ファイルと時刻を扱い、他人のコードを閉じ込め、メモリの回収を読めるようになります。最後は LuaRocks で自分のモジュールを rock にし、busted でテストを走らせるところまで進みます。

Chapter 5 — 組み込み(第17〜20回)

C のプログラムに Lua を埋め込み、スタックで値をやり取りし、C の関数を Lua に公開します。LuaJIT との違いを実測したあと、最後は C のホストが Lua のプラグインを安全に読み込む仕組みを作ります。

全20レッスンを終えたら、次は第5章で使った C を基礎から固める C 言語入門コース や、Lua で設定を書く Neovim/Fish/Tmux 入門コース へ。メンバーシップで全コースが解放されます。