算術演算子
Luaの算術演算子は次のとおりです。
"+"(追加):
コードコピーは次のとおりです。
印刷(1 + 2)
" - "(減算):
コードコピーは次のとおりです。
印刷(2-1)
"*"(乗算):
コードコピーは次のとおりです。
印刷(1 * 2)
"/"(分割):
コードコピーは次のとおりです。
印刷(1/2)
"^"(index):
コードコピーは次のとおりです。
印刷(27^( - 1/3))
"%" (モデル):
コードコピーは次のとおりです。
印刷(5%3)
リレーショナル演算子
LUAは次のリレーショナル演算子を提供します。
コードコピーは次のとおりです。
<> <=> = ==〜=
上記のオペレーターによって返される操作は、真または偽です。文字列は数字と比較することはできません
論理演算子
論理演算子には、および、またはそうではありません
コードコピーは次のとおりです。
印刷(1と2)
印刷(nilと1)
印刷(falseと2)
印刷(1または2)
印刷(falseまたは5)
論理演算子はfalseとnilを偽として扱い、他は真実として扱います。
ローカル変数と範囲
LUAはローカルステートメントを通じてローカル変数を作成し、ローカル変数の範囲はそれらを宣言するブロックに制限されています。
コードコピーは次のとおりです。
ローカルA、b = 1、10
a <bの場合
印刷(a)
ローカルa
印刷(a)
終わり
印刷(a、b)
ローカル変数のローカルでグローバル変数を保存すると、現在の範囲のグローバル変数へのアクセスをスピードアップできます。加速効果については、以下のフィボナッチシーケンスの実行時間を比較して計算します。
コードコピーは次のとおりです。
functionfibonacci(n)
n <2の場合
nを返します
終わり
fibonacci(n -2) + fibonacci(n -1)を返す
終わり
io.write(fibonacci(50)、 "/n")
ローカル変数ローカルを使用します
コードコピーは次のとおりです。
局所機能fibonacci(n)
n <2の場合
nを返します
終わり
fibonacci(n -2) + fibonacci(n -1)を返す
終わり
io.write(fibonacci(50)、 "/n")
制御構造
その場合は、他の場合は終了します
コードコピーは次のとおりです。
num == 1の場合
印刷(1)
elseif num == 2次に
印刷(2)
それ以外
print( "other")
終わり
LUAはスイッチステートメントをサポートしていません
その間
最初にwhile条件を判断します。条件が真の場合、ループ本体を実行します。それ以外の場合は終了します
コードコピーは次のとおりです。
ローカルi = 1
[私]はそうします
印刷([i])
i = i + 1
終わり
繰り返し
最初に循環本体を一度実行してから、状態を判断します。条件が真の場合、循環体を出て、それ以外の場合は循環体を実行し続けます。他の言語での声明と同様に、ループ本体は少なくとも1回実行されます。
コードコピーは次のとおりです。
ローカルa = 1
繰り返す
a = a + 1
b = a
印刷(b)
B <10まで
ループ用
ループステートメントには2つのフォームがあります。
構文の番号:
コードコピーは次のとおりです。
開始、終了、ステップはします
何かをする
終わり
開始は開始値、終了は終了値、ステップはステップサイズです(オプション、デフォルトは1)
コードコピーは次のとおりです。
a = 10、0、-2の場合
印刷(a)
終わり
ループの汎用は、イテレーター関数を介してすべての値を通過します。
コードコピーは次のとおりです。
tab = {key1 = "val1"、key2 = "val2"、 "val3"}
k、v inペア(タブ)の場合
k == "key2"の場合
壊す
終わり
印刷(k .. " - " .. v)
終わり
ブレークおよびリターンステートメントは、現在実行されているブロックから抜け出すために使用されます。