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

FreeBASIC OpAndAlso

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

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


2つの数値の、短絡 AND(論理積) を返します。

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

用法:
result = lhs AndAlso rhs

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

戻り値:
二つの演算対象の、短絡 AND (論理積) を返します。

記述:
この演算子は、式の左側を評価します。結果がゼロなら、ゼロがすぐに返されます。左側の結果がゼロでない場合には、右側を評価します。そして、その論理的な結果を返します。
(ブール値の整数への変換では、ブール値の偽は 整数値 0 に、真は -1 になります)

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

Lhs の値 Rhs の値 結果
0 - 0
nonzero 0 0
nonzero nonzero -1

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

戻り型は、常に Integer の、 0-1 で、それぞれ偽と真を示します。
左側と右側の両方の型が Boolean である場合以外は、戻り型も Boolean です。

この演算子は、ユーザ定義型のために、多重定義できません。

例:
'' インデックスが範囲外の場合に、
'' 配列アクセスを警戒するために ANDALSO 演算子を使います

Dim As Integer isprime(1 To 10) = { _
    _ ' 1  2  3  4  5  6  7  8  9  10
        0, 1, 1, 0, 1, 0, 1, 0, 0, 0 _
    }

Dim As Integer n
Input "1 〜 10 の数を入力して下さい: ", n

'' n が範囲内のときだけ、isprime() 配列はアクセスできます
If (n >= 1 And n <= 10) andalso isprime(n) Then
    Print ": 入力した数は 素数"
Else
    Print ": 入力した数は 素数ではないか、範囲外"
End If

Sleep



QBからの違い:

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

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

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

表示-非営利-継承