Nilai Parameter Default
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 51 dari 78.
Terkadang kamu ingin sebuah fungsi memiliki perilaku "standar" yang bisa disesuaikan saat diperlukan. Nilai default parameter memungkinkan kamu menentukan nilai parameter jika pemanggil tidak memberikannya.
Kamu menetapkan nilai default dengan menggunakan = dalam definisi fungsi:
greet <- function(name = "Guest") {
print(paste("Hello,", name))
}
greet()
greet("Alice")Output:
[1] "Hello, Guest"
[1] "Hello, Alice"Jika dipanggil tanpa argumen, fungsi menggunakan "Guest" sebagai nilai default. Saat kamu memberikan nilai, nilai tersebut menggantikan nilai default.
Kamu bisa menggabungkan parameter wajib dan opsional. Parameter dengan nilai default harus diletakkan setelah parameter tanpa nilai default:
calculate_total <- function(price, tax_rate = 0.1) {
return(price + (price * tax_rate))
}
print(calculate_total(100))
print(calculate_total(100, 0.2))Output:
[1] 110
[1] 120Di sini, price wajib diisi, sedangkan tax_rate memiliki nilai default 10%. Ini membuat fungsi-fungsimu fleksibel, mudah digunakan dalam kasus umum, tetapi bisa disesuaikan saat diperlukan.
Tantangan
MudahBuat fungsi bernama calculate_shipping yang menerima dua argumen:
weight- berat paket (wajib)rate- biaya per unit berat (opsional, nilai default-nya5)
Fungsi ini harus mengembalikan biaya pengiriman, yang dihitung sebagai weight * rate.
Kamu akan menerima dua baris input:
- Nilai berat
- Nilai rate atau kata
default
Jika input kedua adalah default, panggil fungsi hanya dengan berat (menggunakan rate default). Jika tidak, panggil fungsi dengan berat dan rate yang diberikan.
Cetak hasil yang dikembalikan.
Misalnya, jika inputnya:
10
defaultOutput-nya harus:
[1] 50Jika inputnya:
10
3Output-nya harus:
[1] 30Coba sendiri
# Baca input
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Tulis kodemu di bawah ini
# 1. Definisikan fungsi calculate_shipping dengan parameter weight (wajib) dan rate (opsional, default = 5)
# 2. Periksa apakah rate_input bernilai "default" atau berupa angka
# 3. Panggil fungsi dengan argumen yang sesuai dan cetak hasilnyaPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online