Varsayılan Parametre Değerleri
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 53 / 88.
Bazen bir argüman sağlanmadığında bir metodun mantıklı bir yedek değere sahip olmasını istersiniz. Varsayılan parametre değerleri, çağıran kişi belirtmediğinde bir parametrenin ne olması gerektiğini tanımlamanıza olanak tanır.
Varsayılan bir değer atamak 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!Bir argüman olmadan greet metodunu çağırdığınızda, Ruby varsayılan olarak "friend" değerini kullanır. Bir argüman sağladığınızda, bu varsayılanı geçersiz kılar.
Normal parametreleri varsayılan parametrelerle karıştırabilirsiniz, ancak varsayılan değeri olan parametreler, varsayılan değeri olmayanlardan sonra gelmelidir:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # Outputs: 25 (5 squared)
puts power(2, 3) # Outputs: 8 (2 cubed)Bu, metotları daha esnek hale getirir. Çağıranlar yalnızca temel bilgileri sağlayabilirken, isteğe bağlı ayrıntılar makul varsayılan değerlere döner.
Görev
Kolaya ve b olmak üzere iki parametre alan multiply adında bir metot tanımlayın. b parametresinin varsayılan değeri 1 olmalıdır. Metot, a ve b'nin çarpımını döndürmelidir.
Girdiden iki tam sayı okuyun:
- İlk sayı (her zaman sağlanacaktır)
- İkinci sayı (sağlanabilir veya sağlanmayabilir)
Yalnızca bir girdi sağlanırsa, metodu sadece bu argümanla çağırın (b için varsayılan değeri kullanarak). İki girdi sağlanırsa, metodu her iki argümanla da çağırın.
Metot çağrısının sonucunu yazdırın.
Girdi formatı şu şekilde olacaktır:
- İlk satır: ilk sayı
- İkinci satır: ya bir sayı ya da
nonekelimesi
Örneğin, girdiler 7 ve 3 ise:
21Girdiler 5 ve none ise:
5Girdiler 12 ve 4 ise:
48Kopya kağıdı
Varsayılan parametre değerleri, argümanlar sağlanmadığında yedek değerler sunar. Bir varsayılan 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!Varsayılanı olan parametreler, varsayılanı olmayan parametrelerden sonra gelmelidir:
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ü)Kendin dene
# Girdiyi oku
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: b parametresi varsayılan değeri 1 olan multiply metodunu tanımlayın
# TODO: b_input'un "none" veya bir sayı olmasına bağlı olarak metodu uygun şekilde çağırın
# Eğer b_input "none" ise, multiply metodunu sadece a ile çağırın
# Eğer b_input bir sayı ise, multiply metodunu hem a hem de b ile çağırın
# Sonucu yazdır
puts resultBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect