Понимание $ args в Powershell - PullRequest
       3

Понимание $ args в Powershell

1 голос
/ 24 октября 2019

Я не понимаю вывод моей функции powershell.

function test($args) { $y = $args+2 ; "$y"}

ВХОД:

тест 1 2 3 0

ВЫХОД:

2 3 0 2

мой ожидаемый ВЫХОД:

3 4 5 2

Кажется, я не понял, как работает $args. Я был бы очень рад любым объяснениям.

Дополнительный вопрос: Как получить ожидаемый результат 3 4 5 2 без использования предопределенной переменной?

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Я бы изменил это так. $ y и $ args являются массивами, но «$ y» становится строковым.

function test { $y = $args | foreach-object { $_ + 2 }; "$y"  }

test 1 2 3 0
3 4 5 2
0 голосов
/ 25 октября 2019

Пожалуйста, переименуйте имя переменной $ args в любое другое имя, которое не является автоматической переменной. Вы можете получить обзор с помощью справки.

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