gpt4 book ai didi

arrays - 从函数返回多维数组

转载 作者:行者123 更新时间:2023-12-04 18:02:56 25 4
gpt4 key购买 nike

我在将现有的 vbs 脚本转换为 PowerShell 脚本时遇到了一些问题。我在这里用一些虚拟代码而不是我的原始代码进行了说明。在示例 1 中,我在数组中只有 1 组元素,在将数组变量返回给函数时,它只会显示 P。

但是,在示例 2 中,我在数组中有 2 组元素,在将数组变量返回给函数时,它将正确显示元素。

如果您在示例 1 和示例 2 中的函数内打印数组。获取结果没有任何问题。

我用谷歌搜索过,但找不到任何解决方案。非常感谢您的帮助。

示例 1:

function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")

return $array1
}
$array2 = testArray
Write-Host $array2[0][1]

结果是“P”。

示例 2:
function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")
$array1 += ,@("Orange","Pineapple")

return $array1
}
$array2 = testArray
Write-Host $array2[0][0]

结果是“苹果”。

最佳答案

PowerShell 展开从函数返回的数组。在返回的数组前面加上 comma operator ( , ,一元数组构造运算符)将其包装在另一个数组中,该数组在返回时展开,保持嵌套数组不变。

function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")

return ,$array1
}

关于arrays - 从函数返回多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40220590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com