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 |