about_Return
간단한 설명
함수, 스크립트 또는 스크립트 블록일 수 있는 현재 범위를 종료합니다.
자세한 설명
return
키워드(keyword) 함수, 스크립트 또는 스크립트 블록을 종료합니다. 특정 지점에서 범위를 종료하거나, 값을 반환하거나, 범위의 끝에 도달했음을 나타내는 데 사용할 수 있습니다.
C 또는 C#과 같은 언어에 익숙한 사용자는 키워드(keyword) 사용하여 return
범위를 명시적으로 벗어나는 논리를 만들 수 있습니다.
PowerShell에서 각 문의 결과는 Return 키워드(keyword) 포함하는 문 없이도 출력으로 반환됩니다. C 또는 C#와 같은 언어는 키워드(keyword) 지정된 return
값 또는 값만 반환합니다.
참고 항목
PowerShell 5.0부터 PowerShell은 공식 구문을 사용하여 클래스를 정의하는 언어를 추가했습니다. PowerShell 클래스의 컨텍스트에서 문을 사용하여 지정하는 것을 제외하고는 메서드의 출력이 return
없습니다. about_Classes PowerShell 클래스에 대해 자세히 확인할 수 있습니다.
구문
키워드(keyword) 구문 return
은 다음과 같습니다.
return [<expression>]
return
키워드(keyword) 단독으로 표시되거나 다음과 같이 값이나 식이 뒤따를 수 있습니다.
return
return $a
return (2 + $a)
예제
다음 예제에서는 조건부가 return
충족되는 경우 키워드(keyword) 사용하여 특정 지점에서 함수를 종료합니다. 해당 문을 실행하기 전에 return 문이 종료되므로 홀수는 곱하지 않습니다.
function MultiplyEven
{
param($number)
if ($number % 2) { return "$number is not even" }
$number * 2
}
1..10 | ForEach-Object {MultiplyEven -Number $_}
1 is not even
4
3 is not even
8
5 is not even
12
7 is not even
16
9 is not even
20
PowerShell에서는 키워드(keyword) 사용되지 않더라도 return
값을 반환할 수 있습니다.
각 문의 결과가 반환됩니다. 예를 들어 다음 문은 변수 값을 $a
반환합니다.
$a
return
다음 문은 다음 값 $a
도 반환합니다.
return $a
다음 예제에는 함수가 계산을 수행하고 있음을 사용자에게 알리기 위한 문이 포함되어 있습니다.
function calculation {
param ($value)
"Please wait. Working on calculation..."
$value += 73
return $value
}
$a = calculation 14
"기다려 주세요. 계산 작업 중..." 문자열이 표시되지 않습니다. 대신 다음 예제와 같이 변수에 $a
할당됩니다.
PS> $a
Please wait. Working on calculation...
87
정보 문자열과 계산 결과는 모두 함수에서 반환되고 변수에 $a
할당됩니다.
PowerShell 5.0부터 함수 내에 메시지를 표시하려면 스트림을 Information
사용할 수 있습니다. 아래 코드는 Continue와 함께 cmdlet을 Write-Information
사용하여 위의 예제를 InformationAction
수정합니다.
function calculation {
param ($value)
Write-Information "Please wait. Working on calculation..." -InformationAction Continue
$value += 73
return $value
}
$a = calculation 14
Please wait. Working on calculation...
C:\PS> $a
87
반환 값 및 파이프라인
스크립트 블록 또는 함수에서 컬렉션을 반환하면 PowerShell에서 자동으로 멤버의 등록을 취소하고 파이프라인을 통해 한 번에 하나씩 전달합니다. 이는 PowerShell의 일회성 처리 때문입니다. 자세한 내용은 about_pipelines 참조하세요.
이 개념은 숫자 배열을 반환하는 다음 샘플 함수에 의해 설명됩니다. 함수의 출력은 파이프라인의 Measure-Object
개체 수를 계산하는 cmdlet으로 파이프됩니다.
function Test-Return
{
$array = 1,2,3
return $array
}
Test-Return | Measure-Object
Count : 3
Average :
Sum :
Maximum :
Minimum :
Property :
스크립트 블록 또는 함수가 컬렉션을 파이프라인에 단일 개체로 반환하도록 하려면 다음 두 가지 방법 중 하나를 사용합니다.
단항 배열 식
단항 식을 사용하면 다음 예제와 같이 반환 값을 파이프라인 아래로 단일 개체로 보낼 수 있습니다.
function Test-Return { $array = 1,2,3 return (, $array) } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Write-Output
NoEnumerate 매개 변수를 사용하여NoEnumerate 매개 변수와 함께 cmdlet을 사용할
Write-Output
수도 있습니다. 아래 예제에서는 cmdlet을Measure-Object
사용하여 키워드(keyword) 샘플 함수에서 파이프라인으로 전송된 개체 수를return
계산합니다.function Test-Return { $array = 1, 2, 3 return Write-Output -NoEnumerate $array } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
참고 항목
PowerShell
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기