@(a, b, c, d, e, f) 但-6ren">
gpt4 book ai didi

arrays - 为什么 PowerShell 会自动展平数组?

转载 作者:行者123 更新时间:2023-12-05 00:10:36 24 4
gpt4 key购买 nike

我写了一些 pwsh 代码

"a:b;c:d;e:f".Split(";") | ForEach-Object { $_.Split(":") }
# => @(a, b, c, d, e, f)

但我想要这个

// in javascript
"a:b;c:d;e:f".split(";").map(str => str.split(":"))
[ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ] ]

嵌套数组

@(
@(a, b),
@(c, d),
@(e, f),
)

为什么?我该怎么办

最佳答案

使用 , 的一元形式, PowerShell 的数组构造运算符:

"a:b;c:d;e:f".Split(";") | ForEach-Object { , $_.Split(":") }
这样, $_.Split(":") 返回的数组有效地按原样输出,作为数组,而不是将其元素一个一个输出,这在 PowerShell 管道中默认发生。 ,创建一个 - transient - 包装器数组,其唯一元素是您要输出的数组。然后 PowerShell 在输出时解开包装器数组,传递包装过的数组。

关于arrays - 为什么 PowerShell 会自动展平数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57023626/

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