Lua-オペレーター

演算子は、特定の数学的または論理的な操作を実行するようにインタプリタに指示する記号です。Lua言語は組み込みの演算子が豊富で、次のタイプの演算子を提供します-

  • 算術演算子
  • 関係演算子
  • 論理演算子
  • その他の演算子

このチュートリアルでは、算術演算子、関係演算子、論理演算子、およびその他のその他の演算子について1つずつ説明します。

算術演算子

次の表は、Lua言語でサポートされているすべての算術演算子を示しています。変数を想定A 10と変数を保持します B 20を保持します-

例を表示

オペレーター 説明
+ 2つのオペランドを追加します A + Bは30を与えます
- 最初のオペランドから2番目のオペランドを減算します A-Bは-10を与えます
* 両方のオペランドを乗算します A * Bは200を与えます
/ 分子を分子で割る B / Aは2を与えます
モジュラス演算子と整数除算後の余り B%Aは0を与えます
^ 指数演算子は指数を取ります A ^ 2は100を与えます
- 単項-演算子は否定として機能します -Aは-10を与えます

関係演算子

次の表は、Lua言語でサポートされているすべての関係演算子を示しています。変数を想定A 10と変数を保持します B 20を保持します-

例を表示

オペレーター 説明
== 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 (A == B)は真ではありません。
〜= 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。 (A〜 = B)は真です。
>> 左のオペランドの値が右のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 (A> B)は正しくありません。
< 左のオペランドの値が右のオペランドの値よりも小さいかどうかを確認します。小さい場合は、条件が真になります。 (A <B)は真です。
> = 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックします。はいの場合、条件は真になります。 (A> = B)は正しくありません。
<= 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックします。はいの場合、条件は真になります。 (A <= B)は真です。

論理演算子

次の表は、Lua言語でサポートされているすべての論理演算子を示しています。変数を想定A 真で可変である B 偽を保持します-

例を表示

オペレーター 説明
そして 論理AND演算子と呼ばれます。両方のオペランドがゼロ以外の場合、条件は真になります。 (AとB)は誤りです。
または 論理OR演算子と呼ばれます。2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 (AまたはB)は真です。
ない 論理NOT演算子と呼ばれます。オペランドの論理状態を逆にするために使用します。条件がtrueの場合、LogicalNOT演算子はfalseになります。 !(AおよびB)は真です。

その他の演算子

Lua言語でサポートされているその他の演算子には次のものがあります concatenation そして length

例を表示

オペレーター 説明
.. 2つの文字列を連結します。 a..bが「Hello」でbが「World」の場合、「HelloWorld」が返されます。
文字列またはテーブルの長さを返す単項演算子。 #「こんにちは」は5を返します

Luaでのオペレーターの優先順位

演算子の優先順位は、式内の用語のグループ化を決定します。これは、式の評価方法に影響します。特定の演算子は他の演算子よりも優先されます。たとえば、乗算演算子は加算演算子よりも優先されます-

たとえば、x = 7 + 3 * 2; ここで、xには20ではなく13が割り当てられます。これは、演算子*が+よりも優先されるため、最初に3 * 2が乗算され、次に7に加算されるためです。

ここでは、優先順位が最も高い演算子がテーブルの上部に表示され、優先順位が最も低い演算子が下部に表示されます。式内では、優先順位の高い演算子が最初に評価されます。

例を表示

カテゴリー オペレーター 結合性
単項 #-ではありません 右から左へ
連結 .. 右から左へ
乗法 * /% 左から右へ
添加剤 +- 左から右へ
関連した <> <=> = ==〜=  左から右へ
平等 ==〜= 左から右へ
論理積 そして 左から右へ
論理OR または 左から右へ