【ルア】

Lua とは?

公開:
💡 小さな月が、大きなアプリを動かす
📌 このページのポイント
Luaの組み込みアーキテクチャ Lua エンジン 軽量VM(約200KB) 高速インタープリタ 組み込み 組み込み 組み込み 🎮 ゲームエンジン WoW / Roblox / Love2D 🌐 Webサーバー Nginx / OpenResty 🗄️ データストア Redis / Tarantool 万能データ構造「テーブル」→ 配列・辞書・オブジェクトを1つで表現
Luaのホストアプリケーション組み込みのイメージ
ひよこ ひよこ
Luaってあんまり聞いたことないけど、どういう言語なの?
ペンギン先生 ペンギン先生
Luaは「他のアプリケーションに組み込んで使う」のが得意な言語だよ。単体で使うというより、ゲームエンジンWebサーバーの中に埋め込んで、カスタマイズするために使われるんだ
ひよこ ひよこ
ゲームで使われてるって本当?
ペンギン先生 ペンギン先生
めちゃくちゃ使われているよ。World of WarcraftのアドオンやRobloxのスクリプトはLuaで書かれているし、Unityの代替エンジンでも採用例が多い。ゲーム業界ではかなりメジャーな言語なんだ
ひよこ ひよこ
なんでゲームに向いてるの?
ペンギン先生 ペンギン先生
Luaはインタープリタ全体がたった数百KBで、起動も実行も超高速なんだ。ゲームはリアルタイム処理が必要だから、軽くて速いLuaが重宝されるんだよ
ひよこ ひよこ
Nginx とかにも組み込めるの?
ペンギン先生 ペンギン先生
OpenRestyというNginxの拡張版ではLuaを使ってリクエスト処理をカスタマイズできるよ。RedisでもLuaスクリプトで複数のコマンドをアトミックに実行できるんだ。ミドルウェアの拡張言語としても人気があるね
ひよこ ひよこ
テーブルひとつで何でもできるってすごいね!
ペンギン先生 ペンギン先生
Luaのテーブル配列にも辞書にもオブジェクトにもなる万能データ構造なんだ。シンプルだけど強力で、言語仕様が小さいからすぐ覚えられる。組み込み先のアプリ開発者にとっては理想的な設計だよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Lua」って出てきたら「アプリに組み込んで使う軽量スクリプト言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Lua」 = 月(ポルトガル語)
💬 ブラジルで生まれた言語で、ポルトガル語で「月」を意味するんだよ。Cの太陽に対する月というイメージなんだ
← 用語集にもどる