我有一个方法,接受一个字符串作为参数 . 此字符串与值连接 . 在处理结束时,我需要完整的连接字符串
function MyFunction()
{
Param ($output)
$msg = "x " #say this x was different per call
$output += $msg
}
$output = "start "
MyFunction -output $output
MyFunction -output $output
MyFunction -output $output
Write-Host $output
Output
"start "
Expected
"start 1 2 3 "
我查找了[ref],但这适用于值类型而不是引用类型 .
Update
如何将不同的命名变量传递给函数,即
$output1 = "start1 "
$output2 = "start2 "
MyFunction -output $output1
MyFunction -output $output2
WriteHost($output1)
WriteHost($output2)
期待结果
start1 ....从MyFunction start2中追加....从MyFunction中追加
1 回答
在函数内部,您与脚本的其余部分不在同一范围内 . 因此,在使用$ script:output更新$ output时,必须指定脚本范围: