Logické výrazy¤
Logické výrazy se běžně používají k vytváření přísnějších a přesnějších podmínek, jako je filtrování událostí nebo spouštění konkrétních akcí na základě souboru kritérií.
Logické výrazy pracují s pravdivostními hodnotami true
a false
.
Logické výrazy jsou reprezentací logické algebry
Další informace naleznete na stránce boolean algebra na Wikipedii.
!AND
: Konjunkce¤
Logický výraz !AND
se používá ke spojení dvou nebo více podmínek, které musí být všechny pravdivé, aby byl celý výraz pravdivý.
Používá se k vytváření přísnějších a přesnějších podmínek.
Typ: Sequence
Synopsis:
!AND
- <condition 1>
- <condition 2>
- ...
V logickém výrazu !AND
mohou být podmínky (podmínka 1
, podmínka 2
, ...) libovolné výrazy, které se vyhodnotí jako logická hodnota (true nebo false).
Podmínky jsou vyhodnocovány shora dolů a proces vyhodnocování se zastaví, jakmile je nalezena nepravdivá podmínka, podle konceptu zkratového vyhodnocování.
Logická konjunkce
Další informace naleznete na stránce Logická konjunkce na Wikipedii.
Příklad
!AND
- !EQ
- !ARG prodejce
- TeskaLabs
- !EQ
- !ARG produkt
- LogMan.io
- !EQ
- !ARG verze
- v23.10
V tomto příkladu, pokud se všechny podmínky vyhodnotí jako pravdivé, bude celý logický výraz !AND
pravdivý.
Pokud je některá z podmínek nepravdivá, bude logický výraz !AND
nepravdivý.
Bitové !AND
¤
Pokud se !AND
použije na celočíselné typy místo na logické, vytvoří se bitové AND.
Příklad
!AND
- !ARG PRI
- 7
V tomto příkladu je argument PRI
maskován číslem 7 (binárně 00000111
).
!OR
: Disjunkce¤
Logický výraz !OR
se používá ke spojení dvou nebo více podmínek, přičemž alespoň jedna z podmínek musí být pravdivá, aby byl celý výraz pravdivý.
Používá se k vytváření flexibilnějších a komplexnějších podmínek.
Typ: Sequence
Synopsis:
!OR
- <condition 1>
- <condition 2>
- ...
Podmínky (condition 1
, condition 2
, ...) mohou být libovolné výrazy, které se vyhodnotí jako logická hodnota (true
nebo false
).
Podmínky jsou vyhodnocovány shora dolů a proces vyhodnocování se zastaví, jakmile je nalezena pravdivá podmínka, podle konceptu zkráceného vyhodnocování.
Logická disjunkce
Další informace naleznete na stránce Logical disjunction na Wikipedii.
Příklad
!OR
- !EQ
- !ARG popis
- neoprávněný přístup
- !EQ
- !ARG důvod
- hrubá síla
- !EQ
- !ARG zpráva
- Zjištěn malware
V tomto příkladu je výraz pravdivý, pokud je splněna některá z následujících podmínek:
- Pole
description
odpovídá řetězci "unauthorized access". - Pole
reason
odpovídá řetězci "brute force". - Pole
message
odpovídá řetězci "malware detected".
Bitové !OR
¤
Pokud se !OR
použije na celočíselné typy místo na logické, poskytuje bitové OR.
Example
!OR
- 1 # Read access - přístup pro čtení (binární 001, desítková 1)
- 4 # Execute access - přístup pro spuštění (binárně 100, desítkově 4)
V tomto příkladu je výraz vyhodnocen jako 5.
Je to proto, že při bitové operaci !OR
se každý odpovídající bit v binární reprezentaci obou čísel kombinuje pomocí výrazu !OR
:
001 (přístup pro čtení)
100 (přístup pro spuštění)
---
101 (kombinovaná oprávnění)
Výraz vypočítá oprávnění s výslednou hodnotou (binární 101, desítková 5) z operace bitového OR, která kombinuje přístup ke čtení i ke spouštění.
!NOT
: Negace¤
Logický výraz !NOT
se používá k obrácení pravdivostní hodnoty podmínky.
Používá se k vyloučení určitých podmínek, pokud nejsou splněny jiné podmínky.
Typ: Mapping.
Synopsis:
!NOT
what: <expression>
Negace
Pro více informací pokračujte na stránku Negation na Wikipedii.
Bitové !NOT
¤
Pokud je zadáno celé číslo, pak !NOT
vrátí hodnotu s převrácenými bity what
.
Tip
Pokud chcete otestovat, že celé číslo není nula, použijte testovací výraz !NE
.