mirror of https://github.com/Icinga/icinga2.git
parent
8c4c7f0953
commit
b858a05f15
|
@ -163,8 +163,8 @@ Operator | Examples (Result) | Description
|
|||
^ | 17 ^ 12 (29) | Bitwise XOR
|
||||
& | 7 & 3 (3) | Binary AND
|
||||
| | 2 | 3 (3) | Binary OR
|
||||
&& | true && false (false) | Logical AND
|
||||
|| | true || false (true) | Logical OR
|
||||
&& | true && false (false), 3 && 7 (7), 0 && 7 (0) | Logical AND
|
||||
|| | true || false (true), 0 || 7 (7)| Logical OR
|
||||
< | 3 < 5 (true) | Less than
|
||||
> | 3 > 5 (false) | Greater than
|
||||
<= | 3 <= 3 (true) | Less than or equal
|
||||
|
@ -432,9 +432,9 @@ UserGroup | user
|
|||
|
||||
## <a id="boolean-values"></a> Boolean Values
|
||||
|
||||
The `assign where` and `ignore where` statements, the `!`, `&&` and `||`
|
||||
operators as well as the `bool()` function convert their arguments to a
|
||||
boolean value based on the following rules:
|
||||
The `assign where`, `ignore where`, `if` and `while` statements, the `!` operator as
|
||||
well as the `bool()` function convert their arguments to a boolean value based on the
|
||||
following rules:
|
||||
|
||||
Description | Example Value | Boolean Value
|
||||
---------------------|-------------------|--------------
|
||||
|
|
|
@ -249,12 +249,22 @@ Value NotInExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const
|
|||
|
||||
Value LogicalAndExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const
|
||||
{
|
||||
return m_Operand1->Evaluate(frame).ToBool() && m_Operand2->Evaluate(frame).ToBool();
|
||||
Value left = m_Operand1->Evaluate(frame);
|
||||
|
||||
if (!left.ToBool())
|
||||
return left;
|
||||
else
|
||||
return m_Operand2->Evaluate(frame);
|
||||
}
|
||||
|
||||
Value LogicalOrExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const
|
||||
{
|
||||
return m_Operand1->Evaluate(frame).ToBool() || m_Operand2->Evaluate(frame).ToBool();
|
||||
Value left = m_Operand1->Evaluate(frame);
|
||||
|
||||
if (left.ToBool())
|
||||
return left;
|
||||
else
|
||||
return m_Operand2->Evaluate(frame);
|
||||
}
|
||||
|
||||
Value FunctionCallExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const
|
||||
|
|
Loading…
Reference in New Issue