XOR Logik mit 3 Inputs

Kürzlich musste ich ein Powershell Script schreiben, das zu Anfang die Argumente prüfen sollte. Das Script kann mit 3 Parameter aufgerufen werden: -Install, -Uninstall und -Action
Von diesen 3 Parameter darf jeweils nur einer gleichzeitig verwendet werden, also habe ich ein paar logische Operatoren zusammen verknüpft und voilà dies ist das Ergebnis:

if(($Install -and $Uninstall -and $Action) -or -not ($Install -xor $Action -xor $Uninstall))
{
	Write-Host -ForegroundColor Red "Invalid Parameters please read script header for usage"
	exit(1)
}

Die Wahrheitstabelle für ein XOR Gatter mit 3 Inputs:

$a = $true,$false,$false
$a[0] -xor $a[1] -xor $a[2] #true
$a = $true,$true,$false
$a[0] -xor $a[1] -xor $a[2] #false
$a = $true,$true,$true
$a[0] -xor $a[1] -xor $a[2] #true
$a = $true,$false,$true
$a[0] -xor $a[1] -xor $a[2] #false
$a = $false,$true,$true
$a[0] -xor $a[1] -xor $a[2] #false
$a = $false,$false,$true
$a[0] -xor $a[1] -xor $a[2] #true
$a = $false,$false,$false
$a[0] -xor $a[1] -xor $a[2] #false
$a = $false,$true,$false
$a[0] -xor $a[1] -xor $a[2] #true

3InputXOR

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.