Я испытываю другое поведение, если я передаю 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
Однако для случая # 2 переданный массив обрабатывается так же, какодин массив (который я действительно могу понять):
$rank
Output:
test1
end
Вопрос: Есть ли лучший способ передать 1 или n массивов и обрабатывать их одинаково в функции?