これに対する答えは簡単ではありませんが、私は30分を費やしてもまだ解決できません。ハッシュテーブル値を含むPowershell文字列の書式設定
は、私は以下のハッシュテーブルがあるとします。私が何をしようとしている何
$hash = @{face='Off';}
を、出力側に沿っていくつかの他の文字列要素「顔」の値です。
これは動作します:
Write-Host Face $hash['face']
=> Face Off
はしかし、これはしません:
Write-Host Face/$hash['face']
=> Face/System.Collections.Hashtable[face]
どういうわけか、スペースの不足は、演算子の優先順位に影響を与えている - それは今文字列として$ハッシュを評価しています、後に連結する[顔]。この優先順位の問題を解決しようとすると
は、私が試した:
Write-Host Face/($hash['face'])
=> Face/ Off
私は今、私はしたくない余分なスペースを持っています。 これは動作しますが、私はちょうど再割り当てするために余分な行をしたくない:
$hashvalue = $hash['face']
write-host Face/$hashvalue
=> Face/Off
任意のアイデアどのようにワンライナーとしてこの作業を取得しますか?
部分式がここで鍵となった($で囲みます())。私は彼らの役割が曖昧であることを認識していましたが、ここでの適用性を欠いていました。 – llevera
他人に回答する機会を与えられない。ブロックから少し速かった – llevera