Переменная $ args по определению должна содержать все аргументы, передаваемые в функцию скрипта. Однако, если я создаю конвейер внутри моей функции, переменная $ args оценивается как ноль. Кто-нибудь знает почему?
См. Этот пример:
function test { 1..3 | % { echo "args inside pipeline: $args" } ; echo "args outside pipeline: $args" }
Это вывод при передаче параметра "привет":
PS> test hello
args inside pipeline:
args inside pipeline:
args inside pipeline:
args outside pipeline: hello
Есть ли конкретная причина для этого? Я знаю, как обойти это, однако мне интересно, может ли кто-нибудь объяснить причину этого.