Jakie są literały logiczne w programie PowerShell?
powershell
Colonel Panic
źródło
źródło
Odpowiedzi:
$true
i$false
.To są jednak stałe. Nie ma literałów na poziomie języka dla wartości logicznych.
W zależności od tego, gdzie ich potrzebujesz, możesz również użyć wszystkiego, co wymusza na wartości logicznej, jeśli typ ma być logiczny, np. W wywołaniach metod, które wymagają wartości logicznej (i nie mają sprzecznego przeciążenia), lub instrukcji warunkowych. Na przykład większość obiektów niezerowych jest prawdą.
null
, puste łańcuchy, puste tablice i liczba0
są fałszywe.źródło
[bool]1
i[bool]0
też działa.źródło
if ($s.Length) { ... }
jest na przykład w porządku.Aby dodać więcej informacji do już istniejących odpowiedzi : Literały logiczne,
$true
a$false
także działają tak, jak są, gdy są używane jako parametry wiersza polecenia dla skryptów PowerShell (PS). Dla poniższego skryptu PS, który jest przechowywany w pliku o nazwieinstallmyapp.ps1
:Teraz, jeśli mam wywołać ten plik PS z wiersza poleceń PS, mogę to zrobić w następujący sposób:
LUB
Tutaj
1
i$true
są równoważne. Również0
i$false
są równoważne.Uwaga : Nigdy nie spodziewaj się, że literał ciągu
true
może zostać automatycznie przekonwertowany na wartość logiczną. Na przykład, jeśli uruchomię poniższe polecenie:nie wykonuje skryptu z następującym błędem:
źródło