【发布时间】:2012-03-21 08:54:46
【问题描述】:
这个问题的答案很可能是微不足道的,但我花了半个小时,仍然无法解决。
假设我有以下哈希表:
$hash = @{face='Off';}
我试图做的是将“face”的值与其他一些字符串元素一起输出。
这行得通:
Write-Host Face $hash['face']
=> Face Off
但是,这不是:
Write-Host Face/$hash['face']
=> Face/System.Collections.Hashtable[face]
不知何故,缺少空格影响了运算符的优先级 - 它现在将 $hash 评估为字符串,然后是连接的 [face]。
为了解决这个优先级问题,我试过了:
Write-Host Face/($hash['face'])
=> Face/ Off
我现在有一个我不想要的额外空间。 这行得通,但我不希望额外的行只是重新分配:
$hashvalue = $hash['face']
write-host Face/$hashvalue
=> Face/Off
知道如何让它作为单线工作吗?
【问题讨论】:
标签: powershell format hashtable