【发布时间】:2012-11-11 10:56:45
【问题描述】:
当我通过引用一个函数来传递一个哈希表时,我遇到了一个障碍。我该如何解决这个问题?
Function AllMyChildren {
param (
[ref]$ReferenceToHash
}
get-childitem @ReferenceToHash.Value
# etc.etc.
}
$MyHash = @{
'path' = '*'
'include' = '*.ps1'
'name' = $null
}
AllMyChildren ([ref]$MyHash)
结果:错误(“Splatted 变量不能用作属性或数组表达式的一部分。将表达式的结果分配给临时变量,然后改为 splat 临时变量。”)。
尝试这样做:
$newVariable = $ReferenceToHash.Value
get-childitem @NewVariable
这确实有效,并且根据错误消息似乎是正确的。在这种情况下是 preferred 语法吗?
【问题讨论】:
标签: powershell hashtable pass-by-reference