25 Haziran 2012 Pazartesi

Methodlar


Ruby'de methodlar fonksiyonlarla çok benzerlerdir.Ruby çalışırken en çok şaşırdığım şey bir methodun aynı anda birden fazla değer return edebiliyor olmasıydı.Okulda gördüğüm C'de bir fonksiyon en fazla bir değer return edebilirdi(işaretçi ya da başka birşey kullanmadan).O zamanlar küçüktüm programlama dillerinin genel bir standartı var hepsi için sanardım.Sonra anladım ki yokmuş :) .Örnek kodda görelim :
----------------------------------------------------------------------------------------------------------------------------------

def test
   a = 4
   b = 3
return a,b
end
puts test
----------------------------------------------------------------------------------------------------------------------------------
Methodların bir başka tanımlanma biçimide şu şekilde :
----------------------------------------------------------------------------------------------------------------------------------

def ornek(*parametreler)
   for i in 0...parametreler.length
      puts " *  #{parametreler[i]}"
   end
end
ornek 12,"Ebru","Ali","Aysechan"
ornek 3,8
----------------------------------------------------------------------------------------------------------------------------------
Burada methoda kac tane parametre alıcağını methodu çağırdığımız yerde belirtiyoruz.Parametre sayısının değişebildiğini belirtmek içinde * işaretini kullanıyoruz.

Methodlarda Alias Tanımlama

Alias mahlastır aslında bir bakıma.Fonksiyonun adına istedigin başka bir isim verip öylede çağırabilirsin demek.
----------------------------------------------------------------------------------------------------------------------------------
def oldmtd
  "oldmtd 1. fonks"
end
alias newmtd oldmtd
puts oldmtd;
puts newmtd
----------------------------------------------------------------------------------------------------------------------------------
Burada oldmtd adında bir method tanımladık.Sonra ona newmtd diye başka bir isim daha verdik.Artık aynı işi yapan farklı iki isim var.Ruby kodları yukarıdan aşağıya yorumlayarak okuduğu için methodlardan önce aliasları tanımlayamayız.Bu arada Ruby nin ; yazsakta yazmasakta hata vermediğini söylemiş olsam iyi olur :)

Hiç yorum yok:

Yorum Gönder