Lua: あらゆる場所で動作する軽量スクリプト言語
Lua は、LOVE ゲームフレームワークと Roblox からRedis、OpenResty 経由の Nginx、Neovim まで、ゲームエンジン、ウェブサーバー、データベース、テキストエディターで使用されている高速で埋め込み可能なスクリプト言語です。最小限のコアとクリーンな C API により、フル言語スタックのオーバーヘッドなしでスクリプト可能なランタイムが必要な場合の第一選択肢となります。このトラックは、40 の構造化されたコースに基づいて、第一原理から本番レベルの埋め込みとパフォーマンス チューニングまで Lua をカバーしています。
学べること
変数、型、演算子、制御フロー から始まり、その後 Lua の特徴を成す機能に進みます: 配列、辞書、オブジェクトすべての汎用データ構造としてのテーブル。そこから、標準文字列ライブラリ、パターンマッチング、ファイル I/O、日付処理を学びます。中級トピックには、メタテーブルとメタメソッド、オブジェクト指向およびファンクショナルプログラミングパターン、コルーチン、クロージャー、モジュール、JSON エンコーディングが含まれます。応用トラックは、ゲームロジック用 Lua スクリプティング、busted を使用したユニットテスト、Redis スクリプティング、プラグインアーキテクチャの構築をカバーしています。上級コースは、弱参照テーブルを使用したメモリ管理、Lua を C アプリケーションに埋め込むこと、LuaJIT パフォーマンス最適化、C ライブラリを呼び出すための FFI、OpenResty/Nginx インテグレーション、サンドボックス化、DSL 構築、LuaSocket を使用したネットワーキング、Neovim プラグイン作成に達します。
学習パス
40 のコースは A1 から C1 をカバーします。A1 と A2 のコースは言語の基礎を確立します — 構文、関数、テーブル、シーケンス、基本的な I/O。B1 コースは Lua 固有の考え方を構築します: メタテーブル、コルーチン、OOP パターン、継承、ファンクショナルプログラミング、標準ライブラリ。B2 コースはその知識を実際の文脈に適用します: Lua Scripting for Game Logic、Coroutine-Based Async Patterns、Lua for Redis Scripting、Lua Game Development with LOVE。C1 の最高峰層は専門家向けのトピックに対応しています — Embedding Lua in C Applications、LuaJIT & Performance Optimization、FFI: Calling C Libraries from Lua、Lua in Nginx (OpenResty)、Lua Writing Neovim Plugins。
仕組み
各コースは短く実践的なレッスンに分かれており、組み込みコードエディターでリアルタイムフィードバックを得ながら完了します。行き詰まったときはいつでも AI チューターが利用でき、自分のペースで進められるため、既に知っているトピックは素早く進め、メタテーブルやコルーチンなど慎重な注意を要する部分は時間をかけることができます。