メインコンテンツまでスキップ

演算子

紹介

Wave言語は多様な演算子を提供し、変数間の計算、論理判断、比較、ビット演算などを実行できます。

このドキュメントでは、Waveで使用できる主な演算子を種類別に分けて説明し、それぞれの動作方法と例を一緒に提供します。

演算子は次のカテゴリーに分かれます:

  • 算術演算子
  • 比較演算子
  • 論理演算子
  • ビット演算子
  • 割り当て演算子
  • その他の特殊演算子

算術演算子

算術演算子は数値データを対象に基本的な数学演算を行います。

演算子説明例 (a = 10, b = 3)
+加算a + b13
-減算a - b7
*乗算a * b30
/除算a / b3 (整数除算)
%余り演算a % b1

比較演算子

比較演算子は二つの値を比較した結果としてbool値を返します。

演算子説明例 (a = 10, b = 3)
==同じa == bfalse
!=違いa != btrue
<小さいa < bfalse
>大きいa > btrue
<=小さいまたは等しいa <= 10true
>=大きいまたは等しいa >= btrue

論理演算子

論理演算子はbool値に対して真/偽の組み合わせを処理します。

演算子名前説明
&&論理AND二つの値がどちらもtrueのときだけtruetrue && falsefalse
\`\論理ORどちらか一方がtrueならtrue\`true \
!論理NOTtruefalseに、falsetrueに反転!truefalse

ビット演算子

ビット演算子は整数型データをビット単位で操作します。

演算子名前説明
&ビット AND二つのビットが両方とも1のとき1a & b2
\`\ビット OR二つのビットのうちどちらかが1であれば1b7\`
^ビット XOR二つのビットが異なるとき1a ^ b5
~ビット NOTビットを反転~a-7
<<左シフトビットを左に移動a << 112
>>右シフトビットを右に移動a >> 13

割り当て演算子

値を変数に保存するときに使用します。 ほとんどの場合、算術演算子と組み合わせて省略できます。

演算子説明例示 (a = 5)
=基本割り当てa = 10
+=加算後割り当てa += 27
-=減算後割り当てa -= 14
*=乗算後割り当てa *= 315
/=除算後割り当てa /= 51
%=剰余後割り当てa %= 41

その他の特殊演算子

Waveは次のような固有または特別な意味を持つ演算子も提供します。

演算子名前説明
??null 統合演算子左の値がnullの場合、右の値を使用a ?? baがnullならばb
?:条件演算子(三項演算子)条件に応じて値を選択条件 ? 真値 : 偽値
in含有可否確認値がコレクションに含まれているか確認"a" in list
is型比較演算子値の型を確認x is i32
!&NAND論理NAND演算高級論理演算
\`!\NOR論理NOR演算高級論理演算
~^XNOR論理XNOR演算高級論理演算

要約

Waveは数学的演算から論理判断、ビット操作、条件分岐まで様々な演算子を提供します。 これらの演算子は変数と相互作用したり条件を構築したり、複雑な計算やフロー制御に不可欠なツールです。

各演算子の優先順位と結合方向などは後ほど「優先順位と評価順序」セクションで扱うことができます。