Nilai Default Parameter
Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 53 dari 88.
Terkadang kamu ingin method memiliki nilai cadangan yang masuk akal saat argumen tidak diberikan. Nilai parameter default memungkinkan kamu menentukan nilai untuk sebuah parameter jika pemanggil tidak menentukannya.
Untuk menetapkan nilai default, gunakan tanda = setelah nama parameter:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # output: Hello, Alice!
greet # output: Hello, friend!Saat kamu memanggil greet tanpa argumen, Ruby menggunakan "friend" sebagai nilai default. Saat kamu memberikan argumen, argumen itu menggantikan nilai default.
Kamu bisa mencampur parameter biasa dengan parameter yang memiliki nilai default, tetapi parameter yang memiliki nilai default harus diletakkan setelah parameter yang tidak memilikinya:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # output: 25 (5 kuadrat)
puts power(2, 3) # output: 8 (2 pangkat tiga)Ini membuat method lebih fleksibel. Pemanggil dapat memberikan hanya informasi penting, sementara detail opsional menggunakan nilai default yang wajar.
Tantangan
MudahDefinisikan method bernama multiply yang menerima dua parameter: a dan b. Parameter b harus memiliki nilai default 1. Method tersebut harus mengembalikan hasil perkalian a dan b.
Baca dua bilangan bulat dari input:
- Bilangan pertama (akan selalu diberikan)
- Bilangan kedua (mungkin diberikan atau tidak)
Jika hanya satu input yang diberikan, panggil method dengan argumen itu saja (gunakan nilai default untuk b). Jika dua input diberikan, panggil method dengan kedua argumen.
Cetak hasil pemanggilan method.
Format inputnya adalah:
- Baris pertama: bilangan pertama
- Baris kedua: bilangan atau kata
none
Misalnya, jika inputnya adalah 7 dan 3:
21Jika inputnya adalah 5 dan none:
5Jika inputnya adalah 12 dan 4:
48Coba sendiri
# Baca input
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: Definisikan method multiply dengan parameter b yang memiliki nilai default 1
# TODO: Panggil method sesuai dengan apakah b_input bernilai "none" atau berupa angka
# Jika b_input bernilai "none", panggil multiply hanya dengan a
# Jika b_input berupa angka, panggil multiply dengan a dan b
# Cetak hasilnya
puts resultPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ringkasan: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 47Kalkulator Pembagian Tagihan
Pesan Selamat DatangMengambil input dari Pengguna10FizzBuzz dengan Variasi
Gambaran Umum PermainanMetode FizzBuzz2Variabel dan Tipe Data
Angka dan VariabelTipe Data stringTipe Data booleanTipe Data SymbolMemeriksa Tipe DataKonvensi PenamaanRangkuman: Membuat Variabel5Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaIf - Else BersarangPernyataan Unless8Perulangan
For Loop dengan RentangWhile LoopBreakNextRangkuman: FaktorialTimes LoopUntil LoopPerulangan BersarangRangkuman: Input Dinamis3Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan6Dasar Input dan Output
Output dengan putsOutput dengan print dan pOutput dengan VariabelInput dengan getsMethod chompKonversi TipeRangkuman: Kalkulator UsiaRangkuman: Benar atau Salah9method
Mendefinisikan methodParameter methodNilai KembalianRangkuman: Sigma methodRangkuman: Validation methodNilai Default Parameter12Melakukan Perulangan pada Koleksi
Iterator EachEach dengan IndeksMelakukan Perulangan pada StringMap dan CollectLatihan sendiri: Compiler Ruby online