私は誰かが次のことで私を助けてくれることを望んでいました:
Function Get-FormattedNameValuePair([string] $name, [object] $value)
{
return "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
}
Write-Output (Get-FormattedNameValuePair -name MyField -value 1234)
上記は以下を返します。
MyField : 1234
しかし、私は期待していました:
MyField : 1,234.00
1234 の周りに評価ブラケットを追加すると、期待される結果が正しく返されます。
Write-Output (Get-FormattedNameValuePair -name MyField -value (1234))
「Get-FormattedNameValuePair」関数内でラップする代わりに直接呼び出すと、評価ブラケットなしでも書式設定が機能します。
[string] $name = "MyField"
[object] $value = 1234
Write-Output "$("{0,-24}" -f $name) : $("{0,15:N2}" -f $value)"
上記の動作を説明できる人はいますか?