未分類

PowerShell - 記号の意味 - 丸かっこ ( ( ~ ) )

Windows PowerShell で使用される丸かっこ ( ( ~ ) ) について説明します。

式を表す

このサンプルでは、1 + 2 が確実に式であることを明示しています。これは Write-Output などの引数は通常は文字列として解釈されるためです。例えば、1 + 2 のような式を引数にした場合、1, +, 2 というそれぞれの文字をスペース区切りで引き渡されていると解釈されます。明示的に式であること示すために丸カッコでくくります。尚、Write-Output を省略すると、丸カッコがなくても式として解釈されます。

Write-Output (1 + 2)

式を表す

このサンプルは、上記のケースの文字列のパターンです。丸カッコでくくらないと、"ABC", "+", "XYZ" のそれぞれの引数として解釈されます。

Write-Output ("ABC" + "XYZ")

オブジェクトを表す

数値はそのままでオブジェクトとしては扱えません。(この表現が正しいかは不明ではありますが...) 丸カッコでくくることによって、int 型のオブジェクトとして扱うことができるため、変数に代入しなくてもメソッドの実行ができます。このサンプルでは、数値をオブジェクトとして扱っています。

(1).GetType()

コマンドの実行結果をオブジェクトとして扱う

このサンプルでは、dir エイリアスの実行結果をオブジェクトとして扱っています。

(dir).GetType()

( ~ ) で囲まれた部分の計算の優先度が上げる

このサンプルでは、2 + 5 の計算の優先度が上がります。

10 * (2 + 5) / 2 - 3

メソッド (.NET Framework のスタティックメソッドなど) に引き渡す引数を指定する

このサンプルでは、Concat メソッドにふたつの引数を渡しています。

[System.String]::Concat("ABC", "XYZ")

-未分類