在 powershell 工作流中声明数组
Declaring arrays in powershell workflows
我在 powershell 工作流程中需要一个大小为 n 的数组
workflow hai{
$arr=@(1,2)
$a=@(0)*$arr.Count #array needed
for ($iterator=0;$iterator -lt $arr.Count;$iterator+=1){
$a[$iterator]=$arr[$iterator]
}
}
这表明行中有错误
$a[$iterator]=$arr[$iterator]
我们可以这样使用
workflow hai{
$arr=@(1,2)
$a=@()
for ($iterator=0;$iterator -lt $arr.Count;$iterator+=1){
$a+=$arr[$iterator]
}
}
但我的情况不同,我必须使用索引访问数组。有没有办法在工作流程中做到这一点
您收到该错误是因为工作流不支持分配给索引器。请参阅此 article 以了解工作流程的一些限制。尝试使用内联脚本来获得您想要的内容,例如:
workflow hai{
$arr = @(1,2)
$a = inlinescript {
$tmpArr = $using:arr
$newArr = @(0)*$tmpArr.Count #array needed
for ($iterator=0;$iterator -lt $newArr.Count;$iterator+=1){
$newArr[$iterator] = $tmpArr[$iterator]
}
$newArr
}
$a
}
我在 powershell 工作流程中需要一个大小为 n 的数组
workflow hai{
$arr=@(1,2)
$a=@(0)*$arr.Count #array needed
for ($iterator=0;$iterator -lt $arr.Count;$iterator+=1){
$a[$iterator]=$arr[$iterator]
}
}
这表明行中有错误
$a[$iterator]=$arr[$iterator]
我们可以这样使用
workflow hai{
$arr=@(1,2)
$a=@()
for ($iterator=0;$iterator -lt $arr.Count;$iterator+=1){
$a+=$arr[$iterator]
}
}
但我的情况不同,我必须使用索引访问数组。有没有办法在工作流程中做到这一点
您收到该错误是因为工作流不支持分配给索引器。请参阅此 article 以了解工作流程的一些限制。尝试使用内联脚本来获得您想要的内容,例如:
workflow hai{
$arr = @(1,2)
$a = inlinescript {
$tmpArr = $using:arr
$newArr = @(0)*$tmpArr.Count #array needed
for ($iterator=0;$iterator -lt $newArr.Count;$iterator+=1){
$newArr[$iterator] = $tmpArr[$iterator]
}
$newArr
}
$a
}