【发布时间】:2012-03-08 16:40:10
【问题描述】:
关于 PowerShell 的一个可悲之处在于函数和脚本块是动态范围的。
但让我感到惊讶的另一件事是,变量在内部范围内表现为写入时复制。
$array=@("g")
function foo()
{
$array += "h"
Write-Host $array
}
& {
$array +="s"
Write-Host $array
}
foo
Write-Host $array
输出是:
g s
g h
g
这使得动态作用域的痛苦减轻了一点。但是如何避免写时复制呢?
【问题讨论】:
标签: powershell scope