FreeBASIC マニュアルのトップに戻る

FreeBASIC OpOrElse

目次演算子短絡演算子Operator ORELSE (Short Circuit Inclusive Disjunction)←オリジナル・サイト

演算子 ORELSE (短絡排他的論理和) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


2つの数値の、短絡 OR (排他的論理和) を返します。

構文:
declare operator OrElse ( byref lhs as T1, byref rhs as T2 ) as Ret

用法:
result = lhs OrElse rhs

パラメタ:
lhs
式の左側。
T1
数値型か論理型のいずれか。
rhs
式の右側。
T2
数値型か論理型のいずれか。
Ret
数値型か論理型 (T1T2) によって変わる

戻り値:
二つの演算対象の、短絡 or (排他的論理和) を返します。

記述:
この演算子は、式の左側を評価します。
結果がゼロでなければ、すぐに、-1 (真)、を返します。
左側の結果がゼロであれば、右側か評価されます。そして、それの必然的な結果が返されます。
ゼロ以外の値のときは -1 (真)、ゼロのときは 0 (偽)を返します。
(ブーリアンの整数への変換では、論理値の誤は 整数値 0 に、真は -1 になります)

下の真理値表が、短絡 or 操作のすべての組み合わせを示します。'-' は、演算対象が評価されないことを示します。

Lhs ビット Rhs ビット 結果
0 0 0
0 nonzero -1
nonzero - -1

短絡が実行されます。すなわち、結果を計算するのに必要な式だけが評価されます。
最初に、左側の lhs が評価され、それがゼロ(false)と評価された場合にのみ、右側の rhs も評価されます。
左側の評価 lhs がゼロ以外(true)を返す場合、その時点で全体的な条件が真であることがわかっているので、右側の rhs は評価されません(スキップされます)。

戻り型は、いつも Integer で、値は、0-1 で、それぞれ偽か真を示します。
左側と右側の両方が Boolean 型の場合だけ、戻り型も Boolean です。

この演算子を、ユーザ定義型のために、多重定義することができません。

例:
' 2つの数値に対して ORELSE 演算子を使います
Dim As Integer numeric_value1, numeric_value2
numeric_value1 = 15
numeric_value2 = 30

'結果 = -1
Print numeric_value1 ORELSE numeric_value2
Sleep


QBからの違い:

参照:
短絡演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2018-01-27 11:11:43
日本語翻訳:WATANABE Makoto、原文著作者:YetiFoot

ホームページのトップに戻る

表示-非営利-継承