如果我通过一个参数将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>