Powershell принимает несколько параметров для оператора switch из пользовательского ввода - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь найти способ принять пользователя, чтобы вызвать несколько операторов switch, например

$order = Read-Host "Place Order"

Switch ($order){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

Вы можете ввести только 1, 2 или 3, но если вы хотите несколько, вы можете поместить их в массив

$order = @('1','2')

Switch ($order){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

вывод:
бургер
картофель фри

Но как мне получить пользовательский ввод и отформатировать его в значение массива?

1 Ответ

1 голос
/ 03 апреля 2020

Как только простое решение - попросить пользователя указать их порядок, разделенный запятыми:

$order = Read-Host "Place Order (use commas to separate items)"

Switch ($order.Split(',')){
 1{echo "Burger"}
 2{echo "Fries"}
 3{echo "Drink"}
}

Итак, для этого ввода:

Place Order (use commas to separate items): 1,3

Я получаю эти выходные данные:

Burger
Drink

Это все еще работает, поскольку они указывают только один элемент или ни одного вообще - вам, вероятно, нужна опция по умолчанию для отсутствия ввода.

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