11 Ocak 2017 Çarşamba

Kelimetör


Bu uygulama, Türkçe kaynaklarda TÜRKÇE kelimelerin aramasını yapar.
Uygulamanın düzgün çalışması için Google Chrome kullanınız.

Kaynak kodu görüntüleyeyim
Veya şuradan görüntüleyeyim

10 Ocak 2017 Salı

Ruby’de Opsiyonel Parametreler

#Ruby’de Opsiyonal Parametreler

Rubyde istenildiği kadar argümanı içine alabilecek metodlar yazabiliriz. Aşağıdaki standart bir metodu örnekleyelim:

def topla(a, b)
  puts a+b
end
topla(11, 21)
# outputs 32

Bu örnekte, görüldüğü gibi, metodun parametreleri (a,b) ve içine alabileceği argümanlar bellidir. Fakat Ruby’de bu parametreleri belirtmeden, ileride farklı miktarlarda argümanlar da kullanabileceğimizi hesaba katarak şöyle bir metod oluşturabiliriz:

def someMethod(*p)
puts p
end

bu syntax’ta gördüğümüz:     *p ile: metoda istediğimiz kadar argüman yazabiliriz. Deneyelim:

someMethod(32, "merhaba", "hola", "nasilsiniz", "como estas", "estoy muy bien gracias")

Böylesi bir kullanım hata vemeyecektir. Çünkü istediğimiz kadar argüman yazmamız artık mümkün. (*p kullanımı sayesinde bunu başardık).
Not*p  kullanımındaki  p harfi bir array’I temsil ediyor. Ve metodumuzu çağırırken içine yazdığımız her bir argüman bu array’ın bir elementi haline gelecektir ve metodu her çağırışımızda array içerisinde bulunan her bir element için sonuç yazdırılacaktır.
Bu tekniği farklı bir şekilde de kullanabiliriz. Örneğin:

def benMetod (a, b, *c)
#birkaç kod…
End

Buradaki nüans şudur. benMetod’u a ve b gibi iki GEREKLİ parametreye sahiptir (bu iki parametreye kesinlikle argüman verilmelidir) ve diğer yazabileceğimiz Argümanlar ise opsiyoneldir.

Bir örnek daha yapalım.

def sonOrnek (isim, soyIsim, *detayBilgi)
puts "#{isim}, #{soyIsim}, #{detayBilgi}"
end
sonOrnek("ali", "bingo", "ucuncu arguman", "dorduncu arguman", "istedigimiz", "kadar", "arguman", "girebiliriz")#burada (kesinlikle gerekli olan ilk iki argümana ek olarak) çok sayıda kadar argüman girdik.
puts ""
sonOrnek("birinci arg", "ikinci arg") #Burada ise görüldüğü gibi, sadece iki argüman girdik. Üçüncü argüman opsiyonel olduğu için program hatasız çalışıyor.