PowerShell中哈希表值的字符串插值

Rog*_*mbe 30 powershell

我有一个哈希表:

$hash = @{ First = 'Al'; Last = 'Bundy' }
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

Write-Host "Computer name is ${env:COMPUTERNAME}"
Run Code Online (Sandbox Code Playgroud)

所以我希望这样做:

Write-Host "Hello, ${hash.First} ${hash.Last}."
Run Code Online (Sandbox Code Playgroud)

......但我得到了这个:

Hello,  .
Run Code Online (Sandbox Code Playgroud)

如何在字符串插值中引用哈希表成员?

Dav*_*ant 58

Write-Host "Hello, $($hash.First) $($hash.Last)."
Run Code Online (Sandbox Code Playgroud)

  • 那些额外的`$`符号非常难看.我希望有更好的东西. (14认同)
  • @RogerLipscombe这是Powershell,它不是一种漂亮的语言,而且字符串插值尤其令人讨厌! (5认同)

Ang*_*wal 15

"Hello, {0} {1}." -f $hash["First"] , $hash["Last"]    
Run Code Online (Sandbox Code Playgroud)

  • 这需要额外的括号:Write-Host("Hello {0} {1}." - f ...) (4认同)