Lua演算子

2237 ワード

演算子は、解釈器に特定の数学または論理演算を実行するように伝える特殊な記号です.Luaには、次の演算子タイプがあります.
・算術演算子
・関係演算子
・論理演算子
・その他の演算子
 
算術演算子
次の表に、Lua言語の一般的な算術演算子を示します.Aの値を10、Bの値を20に設定します.
オペレータ
説明
≪インスタンス|Instance|emdw≫
+
加算
A+B出力結果30
-
減算
A-B出力結果-10
*
乗算#ジョウサン#
A*B出力結果200
/
除算
B/A w出力結果2
%
余剰を取る
B%A出力結果0
^
べき乗
A^2出力結果100
-
マイナス記号
-A出力結果v-10
 
関係演算子
 
次の表に、Lua言語の共通関係演算子を示します.Aの値を10、Bの値を20に設定します.
オペレータ
説明
≪インスタンス|Instance|emdw≫
==
等しい、2つの値が等しいかどうかを検出し、等しい場合はtrueを返し、そうでない場合はfalseを返します.
(A==B)はfalseです.
~=
等しくないで、2つの値が等しいかどうかを検出して、等しくfalseを返して、さもなくばtrueを返します
(A~=B)はtrueです.
>
より大きい、左の値が右の値より大きい場合はtrueを返し、そうでない場合はfalseを返します.
(A>B)はfalseです.
<
より小さく、左の値が右の値より大きい場合はfalseを返し、そうでない場合はtrueを返します.
(A>=
以上、左の値が右の値より大きい場合はtrueを返します.そうでない場合はfalseを返します.
(A>=B)falseを返します.
<=
より小さい値は等しく、左の値が右の値より小さい場合はtrueを返します.そうでない場合はfalseを返します.
(A<=B)はtrueを返します.
 
論理演算子
次の表に、Lua言語でよく使用される論理演算子を示します.Aの値をtrue、Bの値をfalseに設定します.
オペレータ
説明
≪インスタンス|Instance|emdw≫
and
論理とオペレータ.AがfalseであればA、そうでなければBを返します.
(A and B)はfalseです.
or
論理またはオペレータ.Aがtrueであれば、Aを返し、そうでなければBを返します.
(A or B)はtrueです.
not
論理非オペレータ.論理演算結果とは逆に、条件がtrueの場合、論理はfalseではありません.
not(A and B)はtrueです.
 
その他の演算子
 
次の表に、Lua言語の接続演算子と、計算テーブルまたは文字列の長さの演算子を示します.
 
オペレータ
説明
≪インスタンス|Instance|emdw≫
..
2つの文字列を接続
a..b,ここでaは「Hello」,bは「World」であり,出力結果は「Hello World」である.
#
文字列またはテーブルの長さを返す一元演算子.
#「Hello」は5を返します.
 
演算子の優先度
 
高い順から低い順:
^
not    - (unary)
*      /
+      -
..
<      >      <=     >=     ~=     ==
and
or

^と..を除いて外のすべての二元演算子は左に接続されています
a+i < b/2+1                 (a+i) < ((b/2)+1)
5+x^2*8                     5+((x^2)*8)
a < y and y <= z            (a < y) and (y <= z)
-x^2                        -(x^2)
x^y^z                       x^(y^z)

https://www.yuque.com/docs/share/30eca745-07e6-4eec-8221-637e84758014