Передайте 1 или несколько массивов через один параметр для функции - PullRequest
0 голосов
/ 24 февраля 2019

Я испытываю другое поведение, если я передаю 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 массивов и обрабатывать их одинаково в функции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...