ユーフォリア-オペレーター
Euphoriaは、変数を操作するための豊富な演算子セットを提供します。すべてのEuphoria演算子を次のグループに分けることができます-
- 算術演算子
- 関係演算子
- 論理演算子
- 代入演算子
- その他の演算子
算術演算子
算術演算子は、代数で使用されるのと同じ方法で数式で使用されます。次の表に、算術演算子を示します。整数変数Aが10を保持し、変数Bが20を保持すると仮定すると、-
例を表示
オペレーター | 説明 | 例 |
---|---|---|
+ | 加算-演算子のいずれかの側に値を加算します | A + Bは30を与えます |
- | 減算-左側のオペランドから右側のオペランドを減算します | A-Bは-10を与えます |
* | 乗算-演算子のいずれかの側で値を乗算します | A * Bは200を与えます |
/ | 除算-左側のオペランドを右側のオペランドで除算します | B / Aは2を与えます |
+ | 単項プラス-これは変数値に影響を与えません。 | + Bは20を与えます |
- | 単項マイナス-これにより、指定された変数の負の値が作成されます。 | -Bは-20を与えます |
関係演算子
Euphoria言語でサポートされている関係演算子は次のとおりです。変数Aが10を保持し、変数Bが20を保持すると仮定すると、-
例を表示
オペレーター | 説明 | 例 |
---|---|---|
= | 2つのオペランドの値が等しいかどうかをチェックし、等しい場合は条件が真になります。 | (A = B)は真ではありません。 |
!= | 2つのオペランドの値が等しいかどうかをチェックし、値が等しくない場合は条件が真になります。 | (A!= B)は真です。 |
>> | 左のオペランドの値が右のオペランドの値より大きいかどうかを確認します。大きい場合は、条件が真になります。 | (A> B)は正しくありません。 |
< | 左のオペランドの値が右のオペランドの値よりも小さいかどうかを確認します。小さい場合は、条件が真になります。 | (A <B)は真です。 |
> = | 左のオペランドの値が右のオペランドの値以上であるかどうかをチェックします。はいの場合、条件は真になります。 | (A> = B)は正しくありません。 |
<= | 左のオペランドの値が右のオペランドの値以下であるかどうかをチェックします。はいの場合、条件は真になります。 | (A <= B)は真です。 |
論理演算子
次の表に、論理演算子を示します。ブール変数Aが1を保持し、変数Bが0を保持すると仮定すると、−
例を表示
オペレーター | 説明 | 例 |
---|---|---|
そして | 論理AND演算子と呼ばれます。両方のオペランドがゼロ以外の場合、条件は真になります。 | (AとB)は誤りです。 |
または | 論理OR演算子と呼ばれます。2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 | (AまたはB)は真です。 |
xor | 論理XOR演算子と呼ばれます。条件のいずれかが真の場合は条件が真であり、両方のオペランドが真または偽の場合は条件が偽になります。 | (A xor B)は真です。 |
ない | 結果を否定するLogicalNOT演算子と呼ばれます。この演算子を使用すると、trueはfalseになり、falseはtrueになります | not(B)は真です。 |
これらの演算子は、1または0以外の数値にも適用できます。規則は次のとおりです。ゼロは偽を意味し、ゼロ以外は真を意味します。
代入演算子
Euphoria言語でサポートされている次の代入演算子があります-
例を表示
オペレーター | 説明 | 例 |
---|---|---|
= | 単純な代入演算子、右側のオペランドから左側のオペランドに値を代入します | C = A + Bは、A + Bの値をCに割り当てます。 |
+ = | AND代入演算子を追加します。これは、右のオペランドを左のオペランドに追加し、結果を左のオペランドに割り当てます。 | C + = AはC = C + Aと同等です |
-= | AND代入演算子を減算します。左オペランドから右オペランドを減算し、その結果を左オペランドに代入します。 | C- = AはC = C-Aと同等です |
* = | 乗算AND代入演算子。右のオペランドと左のオペランドを乗算し、その結果を左のオペランドに代入します。 | C * = AはC = C * Aと同等です |
/ = | AND代入演算子を除算します。左オペランドを右オペランドで除算し、結果を左オペランドに代入します。 | C / = AはC = C / Aと同等です |
&= | 連結演算子 | C&= {2}はC = {C}&{2}と同じです |
Note −代入ステートメントで使用される等号 '='は演算子ではなく、構文の一部にすぎません。
その他の演算子
EuphoriaLanguageでサポートされている他の演算子はほとんどありません。
オペレーター
「&」演算子を使用して、任意の2つのオブジェクトを連結できます。結果は、連結されたオブジェクトの長さの合計に等しい長さのシーケンスです。
例-
#!/home/euphoria-4.0b2/bin/eui
sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}
printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )
これにより、次の結果が生成されます-
Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4
ユーフォリアオペレーターの優先順位
演算子の優先順位は、式内の用語のグループ化を決定します。これは、式の評価方法に影響します。特定の演算子は他の演算子よりも優先されます。たとえば、乗算演算子は加算演算子よりも優先されます。
たとえば、x = 7 + 3 * 2
ここで、演算子*は+よりも優先されるため、xには20ではなく13が割り当てられます。
したがって、最初に3 * 2で始まり、次に7に追加されます。
ここでは、優先順位が最も高い演算子がテーブルの上部に表示され、優先順位が最も低い演算子が下部に表示されます。式内では、優先順位の高い演算子が最初に評価されます。
カテゴリー | オペレーター | 結合性 |
---|---|---|
Postfix | 関数/型の呼び出し | |
単項 | +-!ない | 右から左へ |
乗法 | * / | 左から右へ |
添加剤 | +- | 左から右へ |
連結 | & | 左から右へ |
関連した | >> = << = | 左から右へ |
平等 | =!= | 左から右へ |
論理積 | そして | 左から右へ |
論理OR | または | 左から右へ |
論理XOR | xor | 左から右へ |
コンマ | 、 | 左から右へ |