BooleanClass 値

> 基本的なデータ値 > BooleanClass 値

 

   

値とコレクション - クイック ナビゲーション

BooleanClass クラスは、2 つの状態のいずれかとなる値の特徴を定義します。

リテラル

true false on --equivalent to true
off --equivalent to false
"true" as booleanClass
"false" as booleanClass
"on" as booleanClass
"off" as booleanClass

演算子

not <boolean>

ブール値が false の場合は true を、ブール値が true の場合は false を返します。

<boolean> and <boolean>

両方のブール値が true の場合は、 true を返します。

<boolean> or <boolean>

いずれかのブール値が true の場合は、 true を返します。

注:

ブール値 and および or の評価は厳しくありません。最初のブール値の評価で全体の結果が決まる場合があります。

  • 最初のオペランドが and 式において false である場合、結果は false になります 。このため、2 番目のオペランドは評価されません。

  • 最初のオペランドが or 式において true である場合、結果は true になります。このため、2 番目のオペランドは評価されません。

これにより実行時間が節約できるため、略式表記が使えるようになります。たとえば、' sin a ' を計算する際、変数 ' a ' が undefined でない場合は次の例を実行できます。

if a != undefined and sin a > 0 then...

以下のスクリプトでは、BooleanClass クラスのリテラルおよび演算子の使い方を示します。

スクリプト:

-- boolean test bed
bool1=true-- set variables to boolean literals
bool2=on
if bool1 and bool2 do print "booleans are equal"-- compare the booleans
-- define an "exclusive or" function
-- returns true if only one of the
-- inputs is true
fn xor b1 b2 = (not (b1 and b2)) and (b1 or b2)
xor false false-- evaluate 4 combinations of inputs to xor
xor false true
xor true false
xor true true

出力:

true-- result of line 2
true-- result of line 3
"booleans are equal"-- output from line 4
"booleans are equal"-- result of line 4
xor()-- function definition
false-- result of line 8
true-- result of line 9
true-- result of line 10