C言語などには、プログラムの実行開始地点であるmain関数のようなエントリポイントが存在しますが、Luaにはエントリポイントは存在しません。
指定したLuaのソースコードを上から順番に実行します。したがって、最初に実行したい処理は必ずファイルの先頭に記述します。
C言語などと同様に、ソースコード内には、処理の内容を説明したり、メモをしたりするためのコメント(comment)を書くことが出来ます。
コメントは1行コメントと複数行コメントの2種類があり、それぞれ以下のように記述します。なお、コメントはプログラムの動作には影響を与えません。
1行コメント
1行コメントはハイフン(-)を2つつなげたトークンから行末までになります。
複数行コメント
複数行コメントは、トークン--[[と、トークン]]で囲まれた範囲になります。
プログラムの動作において重要な意味を持つ言葉を、予約語またはキーワード(keyword)といいます。
一方、プログラマがデータにつけた名前や関数の名前、変数の名前のことを識別子(identifier)と呼びます。
識別子はアルファベット、数字にアンダースコア(_)を加えた文字の組合わせを使用でき、大文字と小文字は区別されます。ただし、識別子の1文字目はアルファベットまたはアンダースコアでなければいけません。
また、予約語として定義されている語を識別子として使うことは出来ません。Luaの予約語は以下のものです。
注意
以後、このWikiでは予約語と型名は青色、コメントは緑色、クラス名またはそれに相当するものは水色、文字列リテラルは茶色、その他のトークンは黒で表します。
文(statement)とは、1つの手続きを表す記述のことです。ふつう、Luaのソースコードには1行に1つの文を書きます。また、文の終わりを明示的に表すために文末にセミコロン(;)をつけることがあります(C言語などと違い省略可能)。
ブロック(block)とは、いくつかの文の集まりのことで、C言語などの { } に囲まれた部分に相当します。Luaで明示的にブロックを表す場合、ブロックに含む文をdoとendで囲みます。