Lua入門 - Luaの演算子

演算子

コンピューターというのは計算機です。われわれはプログラムを書いてコンピューターに計算をさせるわけですから、数学のように計算規則を表す記号が必要です。これを演算子(operator)と呼びます。
Luaには四則演算や、条件演算などの演算子が用意されています。その殆どはCなど多くのプログラミング言語と同じようなものです。

記号 名前 内容
+ 加算演算子 足し算を表します。
- 減算演算子 (二項)引き算を表します。
(単項)符号を反転します。0との減算とも解釈できます。
* 乗算演算子 掛け算を表します。
/ 除算演算子 割り算を表します。
% 剰余演算子 割り算の余りを求めます。
^ 冪演算子 累乗を表します。
Cなどとは違い、排他的論理和ではない。
< 比較演算子(小なり) 左辺が右辺より小さい場合はtrueを返します。
> 比較演算子(大なり) 左辺と右辺より大きい場合はtrueを返します。
<= 比較演算子(小なりイコール) 左辺が右辺以下の場合はtrueを返します。
>= 比較演算子(大なりイコール) 左辺が右辺以上の場合はtrueを返します。
== 等価演算子 左辺と右辺が等しい(参照型の場合は同じオブジェクトへの参照を持っている場合)はtrueを返します。
左辺と右辺で型が異なる場合は常にfalseを返します。
~= 等価演算子 左辺と右辺が等しくない場合はtrueを返します。
左辺と右辺で型が異なる場合は常にtrueを返します。
and 論理積 左辺と右辺の論理積を返します。
Cなどとは違い、&は使えません。
or 論理和 左辺と右辺の論理和を返します。
Cなどとは違い、|は使えません。
not 論理否定 (単項)真偽値を反転します。
Cなどとは違い、!は使えません。
.. 文字列結合演算子 左側と右側の文字列リテラルをつなぎます。
# 長さ演算子 (単項)テーブルの長さを返します。
テーブルの長さとは、テーブルの最初の要素からテーブル内に最初に現れるnilまでの要素数です。

演算子の優先順位

演算子には優先順位があります。この優先順位は基本的には数学のそれと同じです。
優先順位の高い順に並べると次のようになります。

1. 括弧 ( )
2. 冪 ^
3. 論理否定 not    長さ #    符号反転 -
4. 積 *    商 /    剰余 %
5. 和 +    差 -
6. 結合 ..
7. 比較演算 <  >  <=  >=  ==  ~=
8. 論理積 and
9. 論理和 or
最終更新:2016年11月27日 03:51