about_Return
Deskripsi singkat
Keluar dari cakupan saat ini, yang dapat menjadi fungsi, skrip, atau blok skrip.
Deskripsi panjang
Kata return
kunci keluar dari blok fungsi, skrip, atau skrip. Ini dapat digunakan untuk keluar dari cakupan pada titik tertentu, untuk mengembalikan nilai, atau untuk menunjukkan bahwa akhir cakupan telah tercapai.
Pengguna yang terbiasa dengan bahasa seperti C atau C# mungkin ingin menggunakan return
kata kunci untuk membuat logika meninggalkan cakupan menjadi eksplisit.
Di PowerShell, hasil setiap pernyataan dikembalikan sebagai output, bahkan tanpa pernyataan yang berisi kata kunci Return. Bahasa seperti C atau C# hanya mengembalikan nilai atau nilai yang ditentukan oleh return
kata kunci.
Catatan
Dimulai di PowerShell 5.0, PowerShell menambahkan bahasa untuk menentukan kelas, dengan menggunakan sintaks formal. Dalam konteks kelas PowerShell, tidak ada output dari metode kecuali apa yang Anda tentukan menggunakan return
pernyataan. Anda dapat membaca selengkapnya tentang kelas PowerShell di about_Classes.
Sintaks
Sintaks untuk return
kata kunci adalah sebagai berikut:
return [<expression>]
Kata return
kunci dapat muncul sendiri, atau dapat diikuti oleh nilai atau ekspresi, sebagai berikut:
return
return $a
return (2 + $a)
Contoh
Contoh berikut menggunakan return
kata kunci untuk keluar dari fungsi pada titik tertentu jika kondisi terpenuhi. Angka ganjil tidak dikalikan karena pernyataan pengembalian keluar sebelum pernyataan tersebut dapat dijalankan.
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
Di PowerShell, nilai dapat dikembalikan meskipun return
kata kunci tidak digunakan.
Hasil setiap pernyataan dikembalikan. Misalnya, pernyataan berikut mengembalikan nilai $a
variabel:
$a
return
Pernyataan berikut juga mengembalikan nilai :$a
return $a
Contoh berikut mencakup pernyataan yang dimaksudkan untuk memberi tahu pengguna bahwa fungsi melakukan perhitungan:
function calculation {
param ($value)
"Please wait. Working on calculation..."
$value += 73
return $value
}
$a = calculation 14
"Silakan tunggu. Sedang mengerjakan penghitungan..." string tidak ditampilkan. Sebagai gantinya, ini ditetapkan ke $a
variabel, seperti dalam contoh berikut:
PS> $a
Please wait. Working on calculation...
87
String informasi dan hasil perhitungan dikembalikan oleh fungsi dan ditetapkan ke $a
variabel .
Jika Anda ingin menampilkan pesan dalam fungsi Anda, dimulai di PowerShell 5.0, Anda dapat menggunakan Information
aliran. Kode di bawah ini memperbaiki contoh di atas menggunakan Write-Information
cmdlet dengan InformationAction
dari Lanjutkan.
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
Mengembalikan nilai dan Alur
Saat Anda mengembalikan koleksi dari blok atau fungsi skrip Anda, PowerShell secara otomatis membuka pendaftaran anggota dan meneruskannya satu per satu melalui alur. Hal ini disebabkan oleh pemrosesan satu per satu PowerShell. Untuk informasi selengkapnya, lihat about_pipelines.
Konsep ini diilustrasikan oleh fungsi sampel berikut yang mengembalikan array angka. Output dari fungsi disalurkan ke Measure-Object
cmdlet yang menghitung jumlah objek dalam alur.
function Test-Return
{
$array = 1,2,3
return $array
}
Test-Return | Measure-Object
Count : 3
Average :
Sum :
Maximum :
Minimum :
Property :
Untuk memaksa blok skrip atau fungsi mengembalikan koleksi sebagai objek tunggal ke alur, gunakan salah satu dari dua metode berikut:
Ekspresi array unary
Menggunakan ekspresi unary, Anda dapat mengirim nilai pengembalian Anda ke bawah alur sebagai objek tunggal seperti yang diilustrasikan oleh contoh berikut.
function Test-Return { $array = 1,2,3 return (, $array) } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Write-Output
dengan parameter NoEnumerate .Anda juga dapat menggunakan
Write-Output
cmdlet dengan parameter NoEnumerate . Contoh di bawah ini menggunakanMeasure-Object
cmdlet untuk menghitung objek yang dikirim ke alur dari fungsi sampel olehreturn
kata kunci.function Test-Return { $array = 1, 2, 3 return Write-Output -NoEnumerate $array } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk