ホームページ  >  記事  >  ウェブフロントエンド  >  Lua 式と制御構造の研究 Notes_node.js

Lua 式と制御構造の研究 Notes_node.js

WBOY
WBOYオリジナル
2016-05-16 16:26:571523ブラウズ

算術演算子

Lua の算術演算子は次のとおりです:

" "(追加):

コードをコピーします コードは次のとおりです:

印刷(1 2)

「-」(減算):

コードをコピーします コードは次のとおりです:

print(2 - 1)

「*」(乗算):

コードをコピーします コードは次のとおりです:

プリント(1 * 2)

"/" (割り算):

コードをコピーします コードは次のとおりです:

プリント(1 / 2)

"^" (インデックス):

コードをコピーします コードは次のとおりです:

print(27^(-1/3))

"%" (モジュロ):

コードをコピーします コードは次のとおりです:

print(5 % 3)

関係演算子

Lua は次の関係演算子を提供します:

コードをコピーします コードは次のとおりです:

<>= >= == ~=

上記の演算子によって返される演算結果はすべて true または false です。文字列と数値は比較できません

論理演算子

論理演算子には and、or、not が含まれます

コードをコピーします コードは次のとおりです:

print(1 と 2)
print(nil と 1)
print(false と 2)
print(1 または 2)
print(false または 5)

論理演算子は、false と nil を false として扱い、それ以外はすべて true として扱います。

ローカル変数とスコープ

Lua は、local ステートメントを通じてローカル変数を作成します。ローカル変数のスコープは、ローカル変数が宣言されているブロックに制限されます。

コードをコピーします コードは次のとおりです:

ローカル a、b = 1、10
a
の場合 印刷(a)
ローカル a
印刷(a)
終了
print(a, b)

ローカル変数 local を使用してグローバル変数を保存すると、現在のスコープ内のグローバル変数へのアクセスが高速化されます。加速効果については、以下で計算されたフィボナッチ数列の実行時間を比較してください:

コードをコピーします コードは次のとおりです:

関数フィボナッチ(n)
n return n
終了
フィボナッチ(n - 2) フィボナッチ(n - 1)
を返します 終了
io.write(fibonacci(50), "n")

ローカル変数 local を使用する

コードをコピーします コードは次のとおりです:

ローカル関数 fibonacci(n)
n return n
終了
フィボナッチ(n - 2) フィボナッチ(n - 1)
を返します 終了
io.write(fibonacci(50), "n")

制御構造

if then elseif else end

コードをコピー コードは次のとおりです:

if num == 1 then
印刷(1)
elseif num == 2 then
印刷(2)
それ以外
Print("その他")
終了

Lua は switch ステートメントをサポートしていません

その間

最初に while 条件を確認し、条件が true の場合はループ本体の実行を続行し、そうでない場合は終了します

コードをコピーします コードは次のとおりです:

ローカル i = 1
その間、
印刷(a[i])
i = i 1
終了

繰り返し

まずループ本体を 1 回実行し、その後条件を判定して、条件が true の場合はループ本体を終了し、そうでない場合はループ本体の実行を続けます。他の言語の do-while ステートメントと同様に、ループ本体は少なくとも 1 回実行されます

コードをコピーします コードは次のとおりです:

ローカル a = 1
繰り返します
a = a 1
b = a
印刷(b)
b
まで

for ループ

for ループ ステートメントには 2 つの形式があります: numeric for (numeric for)、generic for (generic for)

構文の数値タイプ:

コードをコピーします コードは次のとおりです:

開始、終了、ステップ do
何かをしています
終了

start は開始値、end は終了値、step はステップ サイズ (オプション、デフォルトは 1)

コードをコピーします コードは次のとおりです:

a = 10, 0, -2 の場合、
を実行します。 印刷(a)
終了

ジェネリック for ループは、反復関数を通じてすべての値を反復処理します。

コードをコピーします コードは次のとおりです:

tab = { key1 = "val1", key2 = "val2", "val3" }
k, v のペア (タブ) については
k == "key2" の場合
休憩
終了
Print(k .. " - " .. v)
終了

Break および return ステートメントは、現在実行中のブロックから抜け出すために使用されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。