なぜLuauを使うのか?
CoddyのLuaジャーニー「Luau入門」セクションの一部 — レッスン 2/73。
Luauの型システムには、開発をより安全で効率的にする3つの大きなメリットがあります。
エラーを早期に発見:型チェッカーは、コードを実行する前、編集している最中にコードを分析します。nil が期待されている場所に number が渡されるという、典型的なLuaのバグを考えてみましょう:
-- Lua: nothing warns you about this
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ runtime error: attempt to perform arithmetic on nilプレーンなLuaでは、そのクラッシュは不正な呼び出しが実際に実行されたとき(おそらくユーザーの目の前で)にしか発生しません。さらに悪いことに、Luaはバグを完全に隠してしまうことがあります。"50" + 0.1 は文字列を暗黙的に型変換して 50.1 を返しますが、文字列が数値でなくなる日が来ると破綻します。Luauの型注釈を使用すると、この間違いはすぐに指摘されます:
local function calculateTotal(price: number, tax: number): number
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ type error while editing: nil is not a numberコードの可読性の向上:型注釈はドキュメントとしての役割を果たします。price: number は、関数が何を期待し何を返すかをあなたやチームメイトに正確に伝えます。推測したり実装を調べたりする必要はありません。
開発ツールの強化:エディタが各変数の型を把握しているため、正確な自動補完、より安全なリファクタリング、よりスマートなナビゲーションが可能になります。型定義された値の後にドットを入力すると、エディタは利用可能なものを正確にリスト表示します。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数