Логические литералы в PowerShell
каковы логические литералы в PowerShell?
3 ответа:
$true
и$false
.те хоть и являются константами,. Для логических значений не существует литералов уровня языка.
в зависимости от того, где вы нуждаетесь в них, вы также можете использовать все, что принуждение к логическому значению, если тип должен быть логическим, например, в вызовах методов, которые требуют булевых (и не имеют конфликтующей перегрузки) или условных операторов. Например, большинство ненулевых объектов имеют значение true.
null
, пустые строки, пустые массивы и количество0
- Это ложь.
просто, чтобы добавить больше информации: логические литералы
$true
и$false
также работает как при использовании в качестве параметров командной строки для сценариев PowerShell(PS). Для приведенного ниже сценария PS, который хранится в файле с именемinstallmyapp.ps1
:param ( [bool]$cleanuprequired ) echo "Batch file starting execution."
теперь, если я должен вызвать этот файл PS из командной строки PS, вот как я могу сделать:
installmyapp.ps1 -cleanuprequired $true
или
installmyapp.ps1 -cleanuprequired 1
здесь
1
и$true
эквивалентны. Кроме того,0
и$false
есть аналог.Примечание: никогда не ожидайте, что строковый литерал
true
может автоматически преобразовываться в boolean. например, если я запускаю ниже команды:installmyapp.ps1 -cleanuprequired true
он не может выполнить скрипт с ошибкой ниже:
не удается обработать преобразование аргумента по параметру 'cleanuprequired'. Не удается преобразовать значение " система.Строка" тип системы".Логический." Логический параметры принимают только логические значения и числа, такие как $True, $False, 1 или 0.