Lua入門 - Luaの基本文法

エントリポイント

C言語などには、プログラムの実行開始地点であるmain関数のようなエントリポイントが存在しますが、Luaにはエントリポイントは存在しません。
指定したLuaのソースコードを上から順番に実行します。したがって、最初に実行したい処理は必ずファイルの先頭に記述します。

 

コメント

C言語などと同様に、ソースコード内には、処理の内容を説明したり、メモをしたりするためのコメント(comment)を書くことが出来ます。
コメントは1行コメント複数行コメントの2種類があり、それぞれ以下のように記述します。なお、コメントはプログラムの動作には影響を与えません。

1行コメント
1行コメントはハイフン(-)を2つつなげたトークンから行末までになります。

-- ここはコメント
local a = 10    -- ここもコメント

複数行コメント
複数行コメントは、トークン--[[と、トークン]]で囲まれた範囲になります。

--[[ ここはコメント
ここもコメント
ここまでコメント]]

local a = 10
local b = 100
--[[ local c = 1000
1行上はコメントなので実行されない]]

 

予約語と識別子

プログラムの動作において重要な意味を持つ言葉を、予約語またはキーワード(keyword)といいます。 一方、プログラマがデータにつけた名前や関数の名前、変数の名前のことを識別子(identifier)と呼びます。
識別子はアルファベット、数字にアンダースコア(_)を加えた文字の組合わせを使用でき、大文字と小文字は区別されます。ただし、識別子の1文字目はアルファベットまたはアンダースコアでなければいけません
また、予約語として定義されている語を識別子として使うことは出来ません。Luaの予約語は以下のものです。

and    break       do        else    elseif    end      false
for    function    if        in      local     nil      not
or     repeat      return    then    true      until    while

注意
以後、このWikiでは予約語と型名は青色、コメントは緑色、クラス名またはそれに相当するものは水色、文字列リテラルは茶色、その他のトークンはで表します。

 

文とブロック

(statement)とは、1つの手続きを表す記述のことです。ふつう、Luaのソースコードには1行に1つの文を書きます。また、文の終わりを明示的に表すために文末にセミコロン(;)をつけることがあります(C言語などと違い省略可能)。
ブロック(block)とは、いくつかの文の集まりのことで、C言語などの { } に囲まれた部分に相当します。Luaで明示的にブロックを表す場合、ブロックに含む文をdoendで囲みます。

do   --ここから
   local age = 25;    --これは文
   local name = "hoge";    --これも文
   assert(falsestring.format("%s is %d years old.", name, age));    --これも文
end  --ここまでがブロック
最終更新:2016年11月27日 02:12