我有几个哈希值,一些函数应该可以使用它们。我想通过引用来调用这些哈希值(我是否需要):
$H1 = @{...}
$H2 = @{...}
$H3 = @{...}
...
function manage{ param( [ref]$a, [ref]$b, [ref]$c )
...
}
manage $H1 $H2 $H3
但这似乎不起作用。我该如何正确地做到这一点?
提前致谢
答案 0 :(得分:2)
哈希在PowerShell中被视为引用类型,并且始终通过引用传递,因此不需要在此处的参数中使用[ref]
,请参阅about_Ref。
尝试不使用[ref]
,或专门使用[hashtable]
类型:
function manage {
param (
[hashtable] $a,
[hashtable] $b,
[hashtable] $c
)
...
}
使用函数内的$a
,$b
,$c
引用对哈希所做的更改将在底层哈希对象上完成,并且将在函数外部通过原始$H1
,$H2
,$H3
引用。