Luaのコーディング規約と整形ツール(StyLuaの設定とベストプラクティス)

Lua プログラミング ゲーム開発 StyLua

Roblox、Neovim、LÖVE2D、MoonSharp(Unity)などで使用される Lua スクリプトの標準スタイルガイドと自動整形ツール(StyLua)のガイドです。

1. オンライン Lua フォーマッター

ブラウザ上で Lua スクリプトのインデント調整や構文チェックが行えます。

🌙 この場でLuaを整形する


2. Lua特有の罠とコーディング規約

ルール正しい記述(OK)避けるべき記述(NG)理由
必ず local を宣言local count = 0count = 0local なしはグローバル変数になり汚染・バグの原因となる
配列インデックスは 1 始まりlocal item = list[1]local item = list[0]Luaのテーブル配列要素は 1 が先頭
文字連結は .. を使用local msg = "Hello " .. namelocal msg = "Hello " + name+ は数値加算のため型エラーになる
否定は ~=if status ~= "success" thenif status != "success" thenLuaの不等号演算子は ~=

3. 業界標準フォーマッター:StyLua の使い方

現代の Lua 開発では JohnnyMorganz 氏が開発する StyLua が標準ツールとして広く採用されています。

① インストール (Cargo / Homebrew / npm)

brew install stylua
# または
cargo install stylua

② 設定ファイル (stylua.toml)

プロジェクトルートに stylua.toml を配置します。

column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 4
quote_style = "AutoPreferDouble"
call_parentheses = "Always"

③ CLI実行コマンド

# 特定のファイルを整形
stylua script.lua

# src ディレクトリ配下を一括整形
stylua src/