簡體   English   中英

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

但是我的情況不同,我必須使用索引訪問數組。 有沒有辦法在工作流程中做到這一點

您會收到該錯誤,因為工作流不支持分配給索引器。 有關工作流程的許多限制,請參見本文 嘗試使用內聯腳本來獲取所需內容,例如:

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM