Header Ads

Ruby Metotlar (Methods)


  Yapısal bir yazılım dili olan C de belirli işlemleri yaptırmak için fonksiyon kavramını kullanıyoruz. Ruby yazılım dilinde bu kavramı metot olarak adlandıracağız.

Metot tanımlarken  "def" anahtar sözcüğü ile başlangıç yapıp "end" anahtar sözcüğü ile bitiriyoruz. Ayrıca Ruby'de metot tanımlama işlemi Python ile çok benzerdir. Ruby ve C dillerinde aynı işlemi yapan basit bir metot tanımlayarak aralarında kıyaslama yapalım.

RUBY
def  topla a, b
   a + b
end
--------------------------------------------------------------
C
int topla(int a, int b){  
  return a + b;
}

+ Ruby de "def" anahtar sözcüğü ile başlarken, C de "int" geri dönüş değeri tip belirteci ile başladık.

+ Ruby de parametre olarak kullanılan değerlerin veri tiplerini yazmadık ama C de parametrelerin tiplerinin belirtilmesi çok önemlidir.

+ Ruby de bir metot geri değer döndürürken "return" anahtar sözcüğüne gerek duyulmaz ama C de bunu yazmazsak bir değeri geri döndüremeyiz.

+ Ruby de "end" anahtar sözcüğü ile bitiş yaparken, C de kodlarımızı { } bloğu içine yazıyoruz.

+ Her iki dilde de benzer olarak, parametreler birbirinden "," karakteri ile ayrılır.

*** Ek olarak Ruby'de parametreleri parantez içine yazmasak da olur, C de kesinlikle parantez içine yazmamız gereklidir.

Ruby'de bir metotun parametrelerine öntanımlı bir değer verebiliriz.Eğer parametre için yeni bir değer girmediğimiz takdirde bu öntanımlı değer kullanılır.Bu durum şu şekilde yapılır:

def selam_ver (mesaj = "Merhaba")
  puts mesaj
end
selam_ver

Yukarıda tanımladığımız bu metotun çıktısı tahmin ettiğiniz üzere;

#=> Merhaba

olucaktır.Tabi ki bu öntanımlı değeri değiştirmek de mümkün.Bu işlemi de şu şekilde yapabiliriz:

def karesini_al(x=5)
  x * x   #ve ya x ** 2
end

x = 3
puts karesini_al x

Yukarıda yazmış olduğumuz bu metodun çıktısı da;

#=> 9

olarak değer alacaktır.


_________________________________________________________________________
Emre İNAÇ
  Ondokuz Mayıs Üniversitesi
       Yıldız Teknik Üniversitesi 

  Samsun
 


Hiç yorum yok

Blogger tarafından desteklenmektedir.