表記 | 名前または意味 | 優先順位 | 結合規則 | 解説 | 備考 |
---|---|---|---|---|---|
-> | デリファレンス | 23 | → | リファレンスを参照します。 | |
++ | インクリメント | 22 | なし | 目標の変数に1加算します。 | C/C++同様、前置後置の区別があります。 |
-- | デクリメント | 22 | なし | 目標の変数に1減算します。 | C/C++同様、前置後置の区別があります。 |
** | べき乗 | 21 | ← | 左辺の右辺乗の値になります。 | |
! | 論理NOT(反転) | 20 | ← | 論理値の真と偽を逆転します。 | |
~ | NOT(補数) | 20 | ← | 目標のビットを全反転した値になります。 | |
\ | リファレンス取得 | 20 | ← | 目標の変数のリファレンスになります。 | |
+ | 単項+ | 20 | ← | 効果不明 | |
- | 算術否定 | 20 | ← | 値の正負を逆転させた値になります。 | |
=~ | ??? | 19 | → | ??? | |
!~ | ??? | 19 | → | ??? | |
* | 乗算 | 18 | → | 左右の乗算(掛け算)の結果になります。 | |
/ | 除算 | 18 | → | 左右の除算(割り算)の結果になります。 | |
% | 剰余 | 18 | → | 左右の剰余(余りを求める)の結果になります。 | |
x | ??? | 18 | → | ??? | |
+ | 加算 | 17 | → | 左右の加算(足し算)の結果になります。 | |
- | 減算 | 17 | → | 左右の減算(引き算)の結果になります。 | |
. | 文字列結合 | 17 | → | 左辺に右辺の文字列を結合します。 | |
<< | 左シフト | 16 | → | 左辺のビットを右辺分左にずらした結果になります。 | 左に溢れたものは消えます。 なくなった右部分は0が補完されます。 |
>> | 右シフト | 16 | → | 左辺のビットを右辺分右にずらした結果になります。 | 右に溢れたものは消えます。 なくなった左部分は0が補完されます。 |
named unary operators | ??? | 15 | なし | ??? | |
< | より小さい | 14 | なし | 左辺が右辺より小さい時、真になります。 | |
> | より大きい | 14 | なし | 左辺が右辺より大きい時、真になります。 | |
<= | 以下 | 14 | なし | 左辺が右辺以下の時、真になります。 | |
>= | 以上 | 14 | なし | 左辺が右辺以上の時、真になります。 | |
lt | より小さい(文字列) | 14 | なし | 左辺が右辺より小さい時、真になります。(文字列) | |
gt | より大きい(文字列) | 14 | なし | 左辺が右辺より大きい時、真になります。(文字列) | |
le | 以下(文字列) | 14 | なし | 左辺が右辺以下の時、真になります。(文字列) | |
ge | 以上(文字列) | 14 | なし | 左辺が右辺以上の時、真になります。(文字列) | |
== | 等価 | 13 | なし | 左辺と右辺が等しい時、真になります。 | |
!= | 以外 | 13 | なし | 左辺が右辺以外の時、真になります。 | |
<=> | ??? | 13 | なし | ??? | |
eq | 等価(文字列) | 13 | なし | 左辺と右辺が等しい時、真になります。(文字列) | |
ne | 以外(文字列) | 13 | なし | 左辺が右辺以外の時、真になります。(文字列) | |
cmp | ??? | 13 | なし | ??? | |
& | AND(論理積) | 12 | → | 左右のビット毎のAND(両方1の時1)の結果になります。 | |
| | OR(論理和) | 11 | → | 左右のビット毎のOR(片方または両方が1の時1)の結果になります。 | |
^ | XOR(排他的論理和) | 11 | → | 左右のビット毎のXOR(片方が1の時1)の結果になります。 | |
&& | 論理AND | 10 | → | 左右が両方真の時、真になります。 | 最後に評価した値を返します。 |
|| | 論理OR | 9 | → | 左右の片方または両方が真の時、真になります。 | 最後に評価した値を返します。 |
.. | 範囲 | 8 | なし | 左辺から右辺までの範囲のリストを返します。 | 他にも何かある・・・? |
... | 範囲 | 8 | なし | 左辺から右辺までの範囲のリストを返します。 | 他にも何かある・・・? |
? : | 条件 | 7 | ← | 左の条件が真の時、中央を、偽の時、右の記述になります。 | |
= | 代入 | 6 | ← | 右辺の内容を左辺に代入します。 | |
*= | 乗算代入 | 6 | ← | 右辺の内容で左辺を乗算します。 | |
**= | べき乗代入 | 6 | ← | 右辺の内容で左辺をべき乗します。 | |
/= | 除算代入 | 6 | ← | 右辺の内容で左辺を除算します。 | |
%= | 剰余代入 | 6 | ← | 右辺の内容で左辺を剰余します。 | |
+= | 加算代入 | 6 | ← | 右辺の内容で左辺を加算します。 | |
-= | 減算代入 | 6 | ← | 右辺の内容で左辺を減算します。 | |
<<= | 左シフト代入 | 6 | ← | 右辺の内容で左辺を左シフトします。 | |
>>= | 右シフト代入 | 6 | ← | 右辺の内容で左辺を右シフトします。 | |
&= | AND代入 | 6 | ← | 右辺の内容で左辺をANDします。 | |
|= | OR代入 | 6 | ← | 右辺の内容で左辺をORします。 | |
^= | XOR代入 | 6 | ← | 右辺の内容で左辺をXORします。 | |
, | カンマ | 5 | → | スカラでは右辺値を返す。リストでは区切り。 | |
=> | カンマ? | 5 | → | ,と同等。 | |
list operators (rightward) | ??? | 4 | なし | ??? | |
not | 低優先度NOT | 3 | ← | 論理値の真と偽を逆転します。 | !の優先順位が下がったもの |
and | 低優先度AND | 2 | → | 左右が両方真の時、真になります。 | &&の優先順位が下がったもの |
or | 低優先度OR | 1 | → | 左右の片方または両方が真の時、真になります。 | ||の優先順位が下がったもの |
xor | 論理XOR | 1 | → | 左右の片方が真の時、真になります。 |