Возвращаемые значения функций в Windows PowerShell

В отличие от традиционных языков программирования, где функция возвращает единственное значение определенного типа, в Windows PowerShell результаты всех вычислений направляются в так называемый выходной поток. Давайте посмотрим, как это выглядит на практике.

Создадим функцию Primer, которая будет выполнять три математических операции.

Function Primer {1+1; 2*2; 10/2}

Далее запустим функцию и посмотрим на результаты её работы.

Возвращаемые значения функций в Windows PowerShell

Как видим, функция возвращает три значения в качестве результата своей работы.

Данные результаты можно сохранить. Используем для этого переменную $Result.

$Result=Primer

Проверим тип переменной.

$Result.GetType().FullName

Возвращаемые значения функций в Windows PowerShell

Итак, переменная $Result есть не что иное, как массив. Можно просмотреть длину этого массива и значения его элементов.

Возвращаемые значения функций в Windows PowerShell

Собственно, может напроситься вопрос, а какого практическое значение полученной нами информации о возвращаемых значениях? Дело в том, что PowerShell по умолчанию будет записывать в наш массив $Result все значения, которые выводились на экран во время работы функции. Подобное необходимо далеко не всегда. Приведем пример.

Создадим простенькую функцию, которая будет поздравлять с Новым годом.

Function Primer {
$year=Read-Host "Введите год"
"С Новым $year годом!"
$year
}

Возвращаемые значения функций в Windows PowerShell

Посмотрим возвращаемые функцией значения.

Возвращаемые значения функций в Windows PowerShell

Как видим, функция вернула два значения. Хотя, наверное, логичнее было бы, если бы в массив попало только значение переменной $year.

Чтобы избежать попадание в выходной поток ненужных нам данных, мы можем воспользоваться командлетом Write-Host. Такой командлет выведет данные непосредственно в консоль, а не в выходной поток.

Function Primer {
$year=Read-Host "Введите год"
Write-Host "С Новым $year годом!"
$year
}

Возвращаемые значения функций в Windows PowerShell

Лишнее также можно отсечь инструкцией Return. Данная инструкция аналогична инструкции Break в циклах PowerShell и выполняет немедленный выход из функции.

Function Primer {
"Данная запись выводится на экран"
Return
"А вот эта запись не выводится на экран"
}

Возвращаемые значения функций в Windows PowerShell

Добавить комментарий

Ваш адрес email не будет опубликован.