Menu
CoddyTech

Varsayılan Parametre Değerleri

Coddy'nin Ruby Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 53 / 88.

Bazen bir argüman sağlanmadığında bir yöntemin mantıklı bir varsayılan değere sahip olmasını istersin. Varsayılan parametre değerleri, çağıran taraf bir parametre için değer belirtmediğinde kullanılacak değeri tanımlamanı sağlar.

Varsayılan bir değer ayarlamak için parametre adından sonra = işaretini kullanın:

def greet(name = "friend")
  puts "Hello, #{name}!"
end

greet("Alice")  # Çıktı: Hello, Alice!
greet           # Çıktı: Hello, friend!

greet işlevini bir argüman olmadan çağırdığında Ruby varsayılan olarak "friend" kullanır. Bir argüman sağladığında bu, varsayılan değerin yerini alır.

Normal parametreleri varsayılan değerli parametrelerle karıştırabilirsin. Varsayılan değerli parametreler genellikle varsayılan değeri olmayan parametrelerden sonra gelir ve normal bir parametre, varsayılan değerli iki parametrenin arasına gelemez:

def power(base, exponent = 2)
  base ** exponent
end

puts power(5)     # Çıktı: 25 (5'in karesi)
puts power(2, 3)  # Çıktı: 8 (2'nin küpü)

Bu, yöntemleri daha esnek hâle getirir. Çağıranlar yalnızca gerekli bilgileri sağlayabilir; isteğe bağlı ayrıntılar ise makul varsayılan değerlere döner.

challenge icon

Görev

Kolay

multiply adında, a ve b adlı iki parametre alan bir yöntem tanımlayın. b parametresinin varsayılan değeri 1 olmalıdır. Yöntem, a ile b değerlerinin çarpımını döndürmelidir.

Girdiden iki tam sayı okuyun:

  1. İlk sayı (her zaman sağlanacaktır)
  2. İkinci sayı (sağlanabilir de sağlanmayabilir de)

Yalnızca bir girdi sağlanırsa, yöntemi yalnızca bu argümanla çağırın (b için varsayılan değeri kullanarak). İki girdi sağlanırsa, yöntemi her iki argümanla çağırın.

Yöntem çağrısının sonucunu yazdırın.

Girdi biçimi şöyle olacaktır:

  • İlk satır: ilk sayı
  • İkinci satır: bir sayı veya none sözcüğü

Örneğin, girdiler 7 ve 3 ise:

21

Girdiler 5 ve none ise:

5

Girdiler 12 ve 4 ise:

48

Kendin dene

# Girdiyi oku
a = gets.chomp.to_i
b_input = gets.chomp

# TODO: b parametresinin varsayılan değeri 1 olacak şekilde multiply metodunu tanımla


# TODO: b_input değerinin "none" veya bir sayı olmasına göre metodu uygun şekilde çağır
# b_input "none" ise multiply metodunu yalnızca a ile çağır
# b_input bir sayıysa multiply metodunu hem a hem de b ile çağır

# Sonucu yazdır
puts result
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi