標準出力

print("文字列")

コメント

行末コメント

-- ここから行末コメント

複数行コメント

--[[
この部分がコメント
になる
]]

文字列

Luaの文字列はダブルクォーテーションまたはシングルクォーテーションで囲む。
ダブルクォーテーションとシングルクォーテーションの違いは無い。

'文字列'
"文字列"

変数

Luaでは、変数を宣言せずに使用することが出来る。

グローバル変数

x = 値

変数に何も付けずに代入式を記述すれば、グローバル変数になる。

ローカル変数

local x = 値

変数に loacl を付けると、ローカル変数になる。
ローカル変数のスコープはブロックとなる。

ローカル変数とグローバル変数で同一の名前の変数がある場合はローカル変数が優先。

テーブル

Luaでは、データをまとめて扱う仕組みを「テーブル」と呼ばれる機構で扱う。
つまるところテーブルとは連想配列

テーブルの作成

table = {}

テーブルの代入

table["key"] = "Lua"
table[1] = "hoge"

テーブルのキーは文字列または数字が使える。

演算子

算術演算子

+加算
-減算
*積算
/除算
^累乗
%剰余

比較演算子

<小なり
>大なり
<=以下
>=以上
==等しい
~=異なる

論理演算子

and論理積
or論理和
not否定

連結演算子

..文字列連結

条件分岐

if文

if 式 then 
    処理1
elseif 式2 then
    処理2
else
    処理2
end

Luaのifは式の値がnilまたはfalse以外の場合にとなる。
then は省略不可。

switch文

Luaにswitch文は存在しない。

繰り返し

for文

for 初期値, 終了値, 増加量 do
    処理
end

増加量は省略可。省略した場合は、増加量は1になる。

while文

while 式 do 
    処理
end

repeat文

repeatはdo 〜 while と同様。

repeat 
    処理 
until 式

break文

繰り返し処理を途中で抜けるにはbreakを使う。ただし、Luaのbreakはブロックの最後にしか書けない。
むりやりブロックの最後にしたい場合は下記のように空ブロックを作ると良い。 /p>

do
    break
end

continue文

Luaにcontinue文は存在しない。

関数

Luaの関数は変数として扱える。いわゆるファーストクラスオブジェクト。

関数の定義

function 関数名(引数1, 引数2, ..)
    関数の処理
    return 戻り値
end

戻り値がない場合は returnを省略可。

複数戻り値

function 関数名(引数1, 引数2, ..)
    関数の処理
    return 戻り値1, 戻り値2, 戻り値3
end

-- 複数の戻り値を受け取る
ver1, ver2, ver3 = 関数名(n)

コルーチン

--コルーチン
function func()
    print("コルーチン開始")
    -- 処理を中断(1回目)
    coroutine.yield "処理を中断1"
    print("ここから再開")
    -- 処理を中断(2回目)
    coroutine.yield "処理を中断2"
    print("次はここから再開")
    return "コルーチン終了"
end

-- コルーチンを作成
local co = coroutine.wrap(func)

-- 1回目呼出し
print(co())
print("----------------------")
-- 2回目呼出し
print(co())
print("----------------------")
-- 3回目呼出し
print(co())

クラス

Luaにクラスは存在しない。



inserted by FC2 system