Я согласен с @manojlds, диапазон должен быть передан в виде массива. Разбор строки ограничивает возможности того, что пользователь может ввести. Используя [int[]]
, вы можете заставить пользователя указать массив целых чисел. Это также позволило бы пользователю указать разбитый диапазон, например ((2..4)+(6..12))
, который сложнее учитывать при разборе строк.
В вашем примере я не уверен, откуда исходит $array
, и вам нужна только одна строка, чтобы вернуть вычисленное имя машины.
function MyArrayOfMachines {
param(
[parameter(mandatory=$true)]
[string] $machine,
[parameter(mandatory=$true)]
[int[]] $range
)
foreach($n in $range) {
$machine+$n
}
}
Вы можете создать одно имя машины,
MyArrayOfMachines Laptop 1
ряд машин,
MyArrayOfMachines Workstation (2..10)
или непоследовательный массив машин
MyArrayOfMachines Server ((2..3)+(5..9))