通过一个参数传递1个或多个数组以起作用

时间:2019-02-24 13:33:29

标签: arrays function powershell

如果我通过一个参数将1个或多个数组传递给函数,则会遇到不同的行为:

函数调用:

#Case #1: 2 array's
$rankarray1 = @('subtest1','subtest2')
$rankarray2 = @('subtest3','subtest4')
$viz += Add-swcVizSubGraph […]-Rank $rankarray1,$rankarray2 […]

#Case #2: 1 array
$rankarray3 = @('test1','end')
$viz = Add-swcVizBody […] -rank $rankarray3

函数Add-swcVizSubGraph / Add-swcVizBody的摘要:

$p_rank = $null
foreach ($rankrequest in $rank) {
    $RankOnLine = $rankgrequest -join " "
    $p_rank += "{rank=same $($RankOnLine )} `n"
}

对于案例1,我得到了两个数组,可以按索引分别访问它们:

$rank[0]
Output:
subtest1
subtest2

$rank[1]
Output:
subtest3
subtest4

对于Case#2,传递的数组被视为一个数组(我实际上可以理解):

$rank
Output:
test1
end

问题:是否存在最佳做法,即如何传递1个或n个数组并在函数中以相同方式处理它?<​​/ p>

0 个答案:

没有答案