Câu trả lời cho điều này có thể là tầm thường, nhưng tôi đã dành nửa giờ và vẫn không thể làm việc.Định dạng chuỗi Powershell có chứa các giá trị Hashtable
Giả sử tôi có một Hashtable sau:
$hash = @{face='Off';}
Những gì tôi đã cố gắng để làm, là đầu ra giá trị của "khuôn mặt" bên cạnh một số yếu tố chuỗi khác.
này hoạt động:
Write-Host Face $hash['face']
=> Face Off
Tuy nhiên, đây không:
Write-Host Face/$hash['face']
=> Face/System.Collections.Hashtable[face]
Bằng cách nào đó thiếu một không gian đã ảnh hưởng đến ưu tiên điều hành - nó bây giờ đang đánh giá $ băm như là một chuỗi, [mặt] nối sau đó.
Đang cố gắng để giải quyết vấn đề ưu tiên này, tôi đã cố gắng:
Write-Host Face/($hash['face'])
=> Face/ Off
bây giờ tôi có một không gian thêm tôi không muốn. này hoạt động, nhưng tôi không muốn dòng thêm chỉ để phân công lại:
$hashvalue = $hash['face']
write-host Face/$hashvalue
=> Face/Off
Bất kỳ ý tưởng làm thế nào để làm việc này như một lớp lót?
Các subexpression là chìa khóa ở đây (kèm theo trong $()). Tôi đã nhận thức được mơ hồ về vai trò của họ, nhưng đã bỏ lỡ khả năng áp dụng ở đây. – llevera
Không được chấp nhận để cho người khác cơ hội trả lời. Có một chút nhanh chóng tắt các khối – llevera