21. Gün | Ruby de Fonksiyonlar – Part2 - Müslüm ÜNAL
June 6, 2017 by muses17 - Leave a Comment
Dün itibariyle Ruby de fonksiyonlara başlamıştık ve fonksiyonları nasıl tanımlayacağımızı, fonksiyonlara nasıl parametre göndereceğimizi vb. işlemleri görmüştük. Bugünde fonksiyonların geri kalan kısmını tamamlayarak fonksiyonlar konumuzu tamamlamış olalım.
Fonksiyonlarda Varsayılan Argüman Kullanımı
Bir önceki yazımızda foksiyonlara nasıl parametre göndereceğimizi görmüştük. Şimdi de bir fonksiyon tanımladığımızda parametre olarak varsayılan bir argüman belirlemeyi görelim. Bu ne işimize yara derseniz, şöyle açıklayım bir parametreli fonksiyon tanımladınız ve bu fonksiyonu program içerisinde parametre olmadan kullandınız böyle bir durumda ekranda hata alamanız kaçınılmazdır, işte bu gibi durumlarda hata almamak için parametreye varsayılan bir agüman atayarak programın sağlıklı çalışmasını sağlayabiliriz. Şimdi bir örnekle ne demek istediğimi daha net anlatıyım.
Yukarıdaki örneğimizde ciz adında bir fonksiyon tanımladık ve parametre olarak deger değişkenini atadık ayrıca da deger değişkenine varsayılan argüman olarak 10 değerini atadık. Daha sonra bu fonksiyonun parametredeki deger değişkeninin değeri kadar ekrana çizgi basmasını istedik ve fonksiyonumuzu tamamladık. Daha sonra fonksiyonumuzu çağırdık, fark erdesiniz fonksiyonumuz parametreli olduğu halde fonksiyonu ilk çağırışımızda parametre atamadık fakat zaten bizim fonksiyonumuzun varsayılan bir parametresi vardı. Biz ciz fonksiyonunu çağırdımızda aslıdan ekrana 10 adet çizgi basmasını istedik daha sonra da sırası ile ekrana 20, 30 ve tekrar 10 adet çizgi basmasını istedik.
Örneğimizin çıktısı yukarıdaki gibidir.
Fonksiyonlarda return işlemi değer döndürmek demektir. Fonksiyonların içinde işlemler dizisi tanımladığımızda ve bu fonksiyonu ekrana yazdırdığımızda fonksiyonun içinde yapılan en son işlem ekrana yazdırılır fakat bunun olması bizim için doğal bir durum değildir. Ne demek istediğimi şu şekilde daha net açıklayım.
Yukarıdaki örneğimizde bir fonksiyon tanımlayıp içine iki tane deger girdik. Fonksiyonumuzu ekrana yazdırdığımızda ise aşağıdaki gibi bir durumla kaşılaştık.
Gördüğünüz gibi ekrana fonksiyonun içindeki en son satırı yazdırdı. Bu çoğu zaman istenilen bir durum değildir. İşte bu durumu düzeltmek için return komutunu kullanarak istediğimiz değeri döndürüp bu değeri kullanabiliriz.
Yukarıdaki örneğimizde bir fonksiyon tanımlayarak iki sayı arasında toplama ve çarpma işlemlerini gerçekleştirdik. Daha sonrada toplama ve çarpma işlemlerinin return komutu ile değer döndürmesini sağladık. Bu örnekte return komutunun görevini daha iyi anlamak için ilk olarak return komutunu olduğu satır silip kodlarımızı çalıştırın ve daha sonra da return komutu ekleyerek komutlarımızı çalıştırın ve aradaki farka dikkat edin. Return komutu olamadan fonksiyon sadece çarpma işlemini ekrana basmaktadır çünkü en son satırda çarpma işlemi yapılmıştır bu karşın return komutunu kullanıp toplam ve çarpımın değer döndürmesini sağlarsak iki işleminde ekrana basıldığını göreceğiz tıpkı örneğimizin çıktısında olduğu gibi.
Böylelikle Ruby de fonksiyonlar konumuzu tamamlamış olduk.