演算子
演算子とは、値のチェック・変更・結合に使用する記号または記号のグループです。 日常的に使用されている演算子も多くあります。 例えば、1 + 2
という式は加算演算子 (プラス記号) を使用し、2つの数値を足し合わせて、3という結果を返します。 = や > などの比較演算子は、2つ以上の値を比較するためのものです。
4Dランゲージでサポートされている演算子は、C や JavaScript など他の言語 でも使用されています。 ただし、等号比較演算子 (=
) との誤用を防ぐため、代入演算子は :=
となっています。 算術演算子 (+、-、*、/、%...) や、 比較演算子 (=、>、>=...) などの 基本演算子 は、 数値のほか、ブール、テキスト、日付、時間、ポインター、ピクチャーのデータ型にも使用可能です。 JavaScript と同様に、4Dランゲージも truthy (真的) と falsy (偽的) の概念をサポートしており、短絡演算子 で使用されています。
用語
4Dランゲージでは、二項演算子 および 三項演算子 をサポートしています:
- 二項演算子とは、2つの対象に対して演算をおこない、その 2つの対象の間に表示されます (例:
2+3
)。 - 三項演算子は 3つの対象に対して演算をおこないます。 C と同様、4D の三項演算子は 1つしかありません: 三項条件演算子 (a ? b : c`).
演算子が影響を与える対象はオペランド (被演算子) と呼ばれます。 1 + 2
という式では、+ 記号は二項演算子であり、その 2つのオペランドは値 1 と 2 です。
代入
代 入演算子 (a:=b
) は、a
の値を b
の値で初期化、または更新します。
$myNumber:=3 // MyNumber 変数に 3 を代入します
$myDate:=!2018/01/21! // 日付リテラルを代入します
$myLength:=Length("Acme") // コマンドの結果 (4) を $myLength に代入します
$col:=New collection // $col を空のコレクションで初期化します
代入演算子
:=
と等号比較演算子=
とを混同しないように注意してください。=
とは異なる代入演算子が採用されたのは意図的なことで、他のプログラミング言語で == や === の使用 によって度々起こる間違いを避けるためです。 このような間違いはコンパイラーにとっても発見しにくく、時間を消耗するトラブルシューティングのもとです。
基本演算子
演算の結果は、オペランドの データ型 に依存します。4D はスカラーデータ型に対して様々な演算子をサポートしています。 詳細は、各データ型の項にて説明されています:
- 論理演算子 (ブール 式に使用)
- 日付演算子
- 時間演算子
- 数値演算子
- ビットワイズ演算子 (倍長整数 式に使用)
- ピクチャー演算子
- ポインター演算子
- 文字列演算子
- オブジェクト参照演算子
- コレクション参照演算子
- Null 演算子
- 未定義演算子
複合代入演算子
履歴
リリース | 内容 |
---|---|
19 R4 | 追加 |
4Dでは、代入と演算を組み合わせた 複合代入演算子 をサポートしています。 その一例として、加算代入演算子 (+=
) があります。
$a:=1
$a+=2 // $a=3