まず初めにCorona SDKで使用するLuaのバージョンは5.1です。ここでは非常に簡単にLua言語について説明します。詳しく知りたい方は書籍等で確認してください。
1.コメント
プログラムを書いているとコメントを書くことがあると思います。Lua言語でのコメントの記述方法は以下の通りです。
- –(ハイフンを2つ) 「–」以降をコメントアウトします(その前は実行されます)
- 範囲指定(ハイフン2つと括弧2つ)
–[[ コメントアウト開始
–]] コメントアウト終了
上記の2種類で囲んだ中がすべてコメントアウトされます
2.変数(型)
Lua言語にはC言語などのような型の宣言はありません。作成した変数は数値、文字列、関数などほぼなんでも代入することができます。また宣言をしてからしか使えないということもありません。
local value = 10 — 整数
value = “test” — 文字列
value = 123.56 — 少数
なんてことのように、同じ変数に整数、文字列、少数などを代入することができます。ただし、できるというだけで絶対にやらないことをお勧めします。このような使い方はバグを生む原因になります。整数と思っていたら文字列が入っていて異常が発生してしまう、なんてことが発生することがあります。あくまで特に型の縛りがないということを説明しているだけです。
変数には関数を入れることもできるので、使い方によっては便利な使い方もできます。
3.式
3.1 代入
値の代入は「=」です。C言語のようなインクリメント(++)や+=のようなものは存在しません。
value = 123
value = value + 1
3.2 算術演算子
足し算や引き算などはよくある通りです。
記号 | 説明 |
+ | 加算 |
– | 減算 |
* | 乗算 |
/ | 除算 |
% | あまり |
^ | 累乗 |
3.3 関係演算子
条件文に使用する演算子です。条件に合った場合は「true」、合わなかった場合は「false」を返します。
記号 | 説明 |
< | 右が大きい(同じ数値を含まない) |
> | 左が大きい(同じ数値を含まない) |
<= | 以上(同じ数値を含む) |
>= | 以下(同じ数値を含む) |
== | 同じかどうか |
~= | 違うかどうか |
3.4 論理演算子
複数の比較演算を結合する場合に使用します。偽は「false」または「nil」です。それ以外が真です。
記号 | 説明 |
and | 左右の条件が成り立つ場合「真」です |
or | 左右の条件のどちらかが成り立つ場合「真」です |
not | 否定(trueまたはfalseを返します) |
4.分岐
if文による分岐です。if、then、elseif、else、endを使用します。
4.1 ifのみ
if [条件式] then
end
if a < 0 then
text = “0より小さい”
end
4.2 if、elseif、else
if a == 0 then
text = “0と等しい”
elseif a > 10 then
text = “10より大きい”
else
text = “上記以外”
end
5.繰り返し
何度も繰り返し処理をさせたい場合に使用します。永久ループにならないように気をつけましょう。
5.1 for
主に繰り返し回数が決まっている場合に使用します。
for [変数名] = [開始値],[終了値],[加算値] do
end
for cnt = 1, 10, 1 do
print(“cnt = “..cnt)
end
テーブルに対するforは以下のようになります。foreachと同じ意味合いです。
for k, v in pairs(テーブル) do
end
5.2 while
主に何度繰り返すかがわからない場合に使用します。条件式が真の間繰り返します。
while [条件式] do
end
cnt = 1
while cnt <= 10 do
print(“cnt = “..cnt)
cnt = cnt + 1
end
6.関数
処理をまとめたいときに使用します。
local function 関数名(引数)
end
local function add(a)
a = a + 1
return a
end
7.テーブル
配列、行列、多次元配列、構造体、クラスなどを作成することができます。複雑なので単純にデータの代入のみです。
local tableTest
tableTest[1] = 123
tableTest[2] = “テスト”
テーブルの先頭に「#」を付けるとテーブルのサイズを取得することができます。
tableTest[#tableTest + 1] = 10.6
以上、非常に簡単ではありますが、Lua言語の使い方でした。本サイトはLua言語の説明を主としているわけではないので、非常に簡単かつ少ない内容になっています。詳しくは書籍等で確認してください。
<更新履歴>
版 | 更新日 | Corona SDKのバージョン |
新規作成 | 2015年6月3日 | v2015.2576 |