1

我在 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]
   }
}

但是我的情况不同,我必须使用索引访问数组。有没有办法在工作流程中做到这一点

4

1 回答 1

2

您会收到该错误,因为工作流不支持分配给索引器。有关工作流程的一些限制,请参阅本文。尝试使用内联脚本来获取您想要的内容,例如:

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
}
于 2015-06-27T17:16:38.920 回答