Ответ на этот вопрос, вероятно, будет тривиальным, но я потратил полчаса и до сих пор не могу его решить.
Предположим, у меня есть следующая хеш-таблица:
$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
Есть идеи, как заставить это работать как однострочный?