Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Definisikan 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:

  1. Bilangan pertama (akan selalu diberikan)
  2. 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:

21

Jika inputnya adalah 5 dan none:

5

Jika inputnya adalah 12 dan 4:

48

Coba 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 result
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Ruby online