Boolean
Un campo, variable o expresión booleana puede ser TRUE o FALSE.
Funciones booleanas
4D provides the Boolean functions True
, False
, and Not
in the dedicated Boolean theme. Para más información, consulte las descripciones de estos comandos.
Ejemplo
Este ejemplo define una variable booleana basada en el valor de un botón. Devuelve True en myBoolean si el botón myButton fue presionado y False si el botón no fue presionado. Cuando se hace clic en un botón, la variable del botón toma el valor 1.
If(myButton=1) //Si se ha presionado el botón
myBoolean:=True //myBoolean toma el valor True
Else //Si el botón no fue pulsado
myBoolean:=False //myBoolean toma el valor False
End if
El ejemplo anterior puede simplificarse en una línea.
myBoolean:=(myButton=1)
Operadores lógicos
4D soporta dos operadores lógicos que trabajan sobre expresiones booleanas: la conjunción (AND) y la disyunción inclusiva (OR). Un AND lógico devuelve TRUE si ambas expresiones son TRUE. Un OR lógico devuelve TRUE si al menos una de las expresiones es TRUE. La siguiente tabla muestra los operadores lógicos:
Operación | Sintaxis | Devuelve | Expression | Valor |
---|---|---|---|---|
AND | Boolean & Boolean | Boolean | ("A" = "A") & (15 # 3) | True |
("A" = "B") & (15 # 3) | False | |||
("A" = "B") & (15 = 3) | False | |||
O | Booleano | Booleano | Boolean | ("A" = "A") | (15 # 3) | True |
("A" = "B") | (15 # 3) | True | |||
("A" = "B") | (15 = 3) | False |
La siguiente es la tabla de verdad del operador lógico AND:
Expr1 | Expr2 | Expr1 & Expr2 |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
La siguiente es la tabla de verdad del operador lógico OR:
Expr1 | Expr2 | Expr1 | Expr2 |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Tip: If you need to calculate the exclusive disjunction between Expr1 and Expr2, evaluate:
(Expr1|Expr2) & Not(Expr1 & Expr2)
In boolean contexts, the 4D language also supports short-circuit operators (
&&
and||
) and the truthy and falsy concept.