我发现 echo 和函数参数有一些奇怪的行为 - 在此示例中:
function a
{
$one = "1"
echo "display some text"
return @{one = $one}
}
function b
{
param ($one)
echo $one
}
$returnedHash = a
echo $returnedHash
b @returnedHash
输出为:
display some text
Name Value
---- -----
one 1
display some text
函数 b 中的 $one 是错误的,只要在函数 a 中使用 echo 即可。(使用 Write-Host 可获得预期结果)
那么我在这里不明白什么呢?这不是一个范围问题 - 它似乎与使用管道进行回显以及可能的溅射有关?