Luauとは?
CoddyのLuaジャーニー「Luau入門」セクションの一部 — レッスン 1/73。
Luau は Roblox で開発されたプログラミング言語で、すでに学んだ Lua をベースに漸進的型付け(gradual static types)を追加したものです。安全性の向上とツールの強化レイヤーが追加された Lua と考えると良いでしょう。何百万もの Roblox エクスペリエンスで利用されており、2021 年からオープンソース化されています。
重要な考え方は、Luau は Lua 5.1 のスーパーセット(上位互換)であるということです。有効な Lua 5.1 のコードはすべて有効な Luau コードでもあります。前のセクションで記述したスクリプトをそのまま Luau として変更なしで実行できます。
Luau がさらに追加したのが型注釈(type annotation)です。`annotation`(注釈)は、変数にどのようなデータ(`string`、`number`、boolean、table など)を保持させるかを宣言するものであり、コードを実行する前であっても誤りを検出できます。
-- Lua (also valid Luau)
local message = "Hello World"
-- Luau with a type annotation
local message: string = "Hello World"漸進的という言葉が重要です。注釈は任意(オプショナル)です。1 つの変数、1 つの関数、またはファイル全体だけに型を指定することもでき、自分のペースで型を追加しながら、型のついていない Lua スタイルのコードをそのまま動かし続けることができます。
その見返りとして、より優れたエディタツール、可読性の高いコード、そして通常の Lua ではプログラムの実行時にしか判明しないようなバグからの保護が得られます。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数