「演算子」の版間の差分
提供:AB開発Wiki
ナビゲーションに移動検索に移動
編集の要約なし |
(→論理演算子: ビット演算としても) |
||
60行目: | 60行目: | ||
''A'' or ''B'' '論理積 | ''A'' or ''B'' '論理積 | ||
''A'' xor ''B'' '排他的論理和 | ''A'' xor ''B'' '排他的論理和 | ||
優先順位は上に位置するものほど高くなっています。なお、ビット演算子としても機能します。 | |||
== 全体の優先順位 == | == 全体の優先順位 == |
2006年10月26日 (木) 12:57時点における版
演算子とは与えられたオペランド(または式)を対象に評価を行い、結果を返す動作を提供します。ABでは下記の演算子が利用できます。
代入演算子
A = B '単純代入 A *= B '乗算代入 A /= B '除算代入 A \= B '整数除算代入 A mod= B '乗除代入 A += B '加算代入 A -= B '減算代入 A <<= B '左シフト代入 A >>= B '右シフト代入 A and= B '論理積代入 A or= B '論理和代入 A xor= B '排他的論理和代入
例
A = B
B式の演算結果はAの型に暗黙的にキャストされ(キャストの種類によっては警告・エラーになる場合があります)、Aに代入されます。
その他の代入演算子の例を挙げてみます。
A and= B
このコードは、Aが一度しか参照されない点を除き、下記のコードと同等の意味になります。
A = A and B
キャスト演算子
A As B
Bには型名を指定します。AはBの型にキャストされます。
算術演算子
A ^ B '指数演算 - A 'マイナス符号 A * B '乗算 A / B '除算 A \ B '整数除算 A mod B '乗除演算 A + B '加算 A - B '減算 A >> B '右シフト A << B '左シフト
優先順位は上に位置するものほど高くなっています。ただし、「乗算・除算・整数除算」、または「加算・減算」の優先順位は同一です。同一優先順位の演算子が一つの式に複数存在するときは、式は左から右へ順に評価されます。
比較演算子
A = B 'AとBは等しい A <> B 'AとBは等しくない A < B 'AはB未満 A > B 'AはBより大きい A <= B 'AはB以上 A >= B 'AはB以下
条件が一致したときは "-1" が、一致しなかったときは "0" が返ります。
論理演算子
Not A '論理否定 A and B '論理積 A or B '論理積 A xor B '排他的論理和
優先順位は上に位置するものほど高くなっています。なお、ビット演算子としても機能します。
全体の優先順位
優先順位はキャスト演算子、算術演算子、関係演算子、論理演算子の順になります。
結合規則
ABの式は左結合です。同一優先順位の演算子が一つの式に複数存在するときは、式は左から右へ順に評価されます。式の一部を他の部分より優先的に評価する場合は、括弧を使います。下記に例を示します。
Print 128/32/4 Print 128/(32/4)
一番目の式は左から順に式が評価されるため、"128÷32" の結果から4を割ります。二番目の式は括弧内の "32÷4" が優先的に評価され、その結果で128を割ります。