- 次の表で、演算子を優先順位降順に並べる。
- 単項演算子は二項演算子より優先されることが分かる。
- より正確には、後置単項演算子 > 前置単項演算子 > 二項演算子 の順。
- 「非結合」演算子では、その結合を丸括弧
(
,)
で明示しないと文法エラーとなる。a == b == c
- Error(a == b) == c
- OK
- 単項演算子は二項演算子より優先されることが分かる。
- フィールド演算子
.
は?
より強い。よって&self.hoge?
は&((self.hoge)?)
となる。
演算子 | 結合性 |
---|---|
? |
|
単項 - * ! & &mut |
|
as : |
左結合 |
* / % |
左結合 |
+ - |
左結合 |
<< >> |
左結合 |
& |
左結合 |
^ |
左結合 |
| |
左結合 |
== != < > <= >= |
非結合 |
&& |
左結合 |
|| |
左結合 |
.. ..= |
非結合 |
<- |
右結合 |
= += -= *= /= %= &= |= ^= <<= >>= |
右結合 |