ja-JP/about_Booleans.help.txt

TOPIC
    about_Booleans

簡単な説明
    ブール式がどのように評価されるかについて説明します。

詳細な説明
    PowerShell は任意の型を暗黙的に Boolean として扱うことができます。
    PowerShell が他の型を Boolean 値に変換する際の規則を理解しておくことが
    重要です。

スカラー型からの変換
    スカラー型は、一度に 1 つの値だけを保持できるアトミックな量です。
    次の型は $false に評価されます。

        '' や "" のような空文字列
        $null のような Null 値
        値が 0 である任意の数値型

    例:

        PS> $false -eq ''
        True
        PS> if ("") { $true } else { $false }
        False
        PS> if ($null) { $true } else { $false }
        False
        PS> if ([int]0) { $true } else { $false }
        False
        PS> if ([double]0.0) { $true } else { $false }
        False

    次の型は $true に評価されます。

        空でない文字列
        コレクション以外の任意の型のインスタンス

    例:

        # コレクション以外の型
        PS> [bool]@{value = 0}
        True
        # 空でない文字列
        PS> if ('hello') { $true } else { $false }
        True
        PS> [bool]'False'
        True

    これは明示的な文字列解析とは異なる点に注意してください。

        PS> [bool]::Parse('false')
        False
        PS> [bool]::Parse('True')
        True
        PS> [bool]::Parse('Not True')
        MethodInvocationException: Exception calling "Parse" with "1"
        argument(s): "String 'Not True' was not recognized as a valid
        Boolean."

コレクション型からの変換
    配列は PowerShell で最もよく使われるコレクション型です。次の規則は、
    IList インターフェイスを実装する任意のコレクション類似型に適用されます。

        空のコレクションは常に $false です。
        コマンドからの出力がないことを示す特殊な null 値
        [System.Management.Automation.Internal.AutomationNull]::Value は
        常に $false です。
        要素が 1 つだけのコレクションは、その唯一の要素の Boolean 値に
        評価されます。
        要素が 2 つ以上あるコレクションは常に $true です。

    例:

        # 空のコレクション
        PS> [bool]@()
        False
        PS> [bool](Get-ChildItem | Where-Object Name -EQ 'Non-existent-File.txt')
        False
        # 要素が 1 つのコレクション
        PS> $a = @(0)
        PS> [bool]$a
        False
        PS> $b = @(1)
        PS> [bool]$b
        True
        # 要素が複数のコレクション
        PS> $c = @(0,0)
        PS> [bool]$c
        True

関連項目
    about_Arrays

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP