演算子リファレンス
NagiScript の演算子全体を解説します。
算術演算子
| 演算子 | 説明 | 例 | 結果 |
+ | 加算 | 5 + 3 | 8 |
- | 減算 | 5 - 3 | 2 |
* | 乗算 | 5 * 3 | 15 |
/ | 除算 | 5 / 3 | 1 (整数除算) |
% | 剰余 | 5 % 3 | 2 |
浮動小数点の除算
val a: f64 = 5.0
val b: f64 = 3.0
val result = a / b // 1.66666...
比較演算子
| 演算子 | 説明 | 例 | 結果 |
== | 等しい | 5 == 5 | true |
!= | 等しくない | 5 != 3 | true |
< | 小さい | 5 < 3 | false |
> | 大きい | 5 > 3 | true |
<= | 以下 | 5 <= 5 | true |
>= | 以上 | 5 >= 3 | true |
論理演算子
| 演算子 | 説明 | 例 | 結果 |
and | 論理AND | true and false | false |
or | 論理OR | true or false | true |
not | 論理NOT | not true | false |
代入演算子
| 演算子 | 説明 | 例 |
= | 代入 | x = 5 |
+= | 加算代入 | x += 5 |
-= | 減算代入 | x -= 5 |
*= | 乗算代入 | x *= 5 |
/= | 除算代入 | x /= 5 |
%= | 剰余代入 | x %= 5 |
ポインタ演算子
| 演算子 | 説明 | 例 |
&& | アドレス取得 | val ptr = &&x |
* | 参照 | val value = *ptr |
.offset(n) | ポインタ加算 | ptr.offset(1) |
型演算子
| 演算子 | 説明 | 例 |
as | 型変換 | val y = x as f64 |
エラー伝播演算子
| 演算子 | 説明 | 例 |
? | エラー伝播 | val n = parse_int(s)? |
演算子の優先順位
| 優先順位 | 演算子 | 説明 |
| 1 (最高) | () | 括弧 |
| 2 | !, not | 否定 |
| 3 | *, /, % | 乗算、除算、剰余 |
| 4 | +, - | 加算、減算 |
| 5 | <, >, <=, >= | 比較 |
| 6 | ==, != | 等値比較 |
| 7 | and | 論理AND |
| 8 | or | 論理OR |
| 9 | = | 代入 |
文字列演算子
| 演算子 | 説明 | 例 |
+ | 文字列連結 | "Hello" + " World" |
リスト演算子
| 演算子 | 説明 | 例 |
[] | インデックスアクセス | list[0] |
+ | リスト結合 | list1 + list2 |
タプル演算子
| 演算子 | 説明 | 例 |
() | タプル作成 | (1, 2, 3) |
.0, .1, .2 | タプル要素アクセス | t.0 |
関数型演算子
| 演算子 | 説明 | 例 |
() | 関数呼び出し | f(x) |
fn | 関数式 | fn(x: i32) i32 { x * 2 } |