Nesne Hazırlaması
Önceki
İçindekiler
İçindekiler
İçindekiler
Sonraki

 Ruby Kullanıcı KılavuzuVe diğer şeyler 

Bu bölüm pratik bir kaç konuyu kapsar.

Deyim sınırlayıcıları (Statement delimiters)

Bazı diller deyimleri sonlandırmak için, noktalı virgül ; gibi noktalama işaretleri gerektirir. Ruby bunun yerine sh ve csh'ın geleneğini takip eder. Birden fazla deyim noktalı virgülle ayrılmalıdır ancak bir satırın sonuna noktalı virgül koymanız gerekmez, satır geri besleme bir noktalı virgülmüş gibi davranır. Eğer bir satır sola eğik çizgi (\) ile biterse o zaman onu takip eden satır geri besleme dikkate alınmaz, bu da bir çok satırdan oluşan mantıksal tek bir satır oluşturmanızı sağlar.

Yorum Satırları

Niçin yorum yazmalıyız? İyi yazılmış bir kodun öz bir döküman olmasının yanında başkalarının da çiziktirdiğimiz koda bakabileceği ihtimalini göz ardı etmemeliyiz. Öte yandan siz ve kendiziniz iki gün önceki sizle farklı kişilersiniz; hangimiz bir bölüm sonra durup, "bunu yazdığımı hatırlıyorum, ama ne cehennemi kastettim!" dememişizdir ki?

Bazı deneyimli programcılar, güncelliğini yitirmiş ve tutarsız yorumların hiç yorum yazmamaktan daha kötü olduğuna dikkat çekerler. Tabii ki yorumlar okunabilir bir kodun vekili olmamalıdırlar; eğer kodunuz yeterince açık değilse muhtemelen yanlışlarla doludur. Ruby'yi öğrenirken yorum yazmaya sık sık ihtiyacınız olacak- ancak daha iyi duruma geldiğiniz zaman basit, şık ve okunabilir kodlar yazmaya başladığınızda daha az yorum satırına ihtiyaç duyacaksınız.

Ruby komut satırı belirtmek için # işareti kullanarak betik dillerinin izlediği geleneksel bir yol izler. # ile başlayan her satır yorumlayıcı tarafından gözardı edilir.

Ayrıca büyük yorum bloklarını mümkün kılmak için Ruby yorumlayıcısı "=begin" ve "=end" arasındaki satırları da gözardı eder.

#!/usr/bin/env ruby

=begin
**********************************************************************
  Bu bir yorum bloğu. Burada kodunuzu okuyan kişilerin yararlanabileceği 
  şeyler yazabilirsiniz. Yorumlayıcı bu satırları görmezden gelecektir.
  Her satırın başında bir '#''e ihtiyaç olmadığına dikkat edin.
**********************************************************************
=end

Kodunuzu düzenlemek

Ruby yorumlayıcısı kodları okuduğu gibi işletir. Derleme aşaması gibi bir şey söz konusu değildir; eğer birşey henüz okunmamışsa basitçe tanımsızdır.

# bu bir "undefined method" hatasina sebep olur:

print successor(3),"\n"

def successor(x)
  x + 1
end

Bu, ilk bakışta öyle gibi gözükse de, kodunuzu baştan aşağı bir tasarım harikasına dönüştürmeniz için zorlamaz. Yorumlayıcı, bir metot tanımlamasıyla karşılaştığında tanımlanmamış referansları da rahatlıkla ekleyebilir ve metot çağrıldığında tanımlı olabileceğinden emin olabilirsiniz:

# fahrenheit'i  celsius'a cevirir, iki
# adima ayrilmistir.

def f_to_c(f)
  scale(f - 32.0)  # Bu ileri bir referanstır ancak sorun değil.
end

def scale(x)
  x * 5.0 / 9.0
end

printf "%.1f uygun bir sicaklik.\n", f_to_c(72.3)

Perl ya da Java'da alıştığınızdan daha az elverişli olsa da prototip yazmadan C yazmaktan daha az kısıtlayıcıdır. Bir kaynak kodunun altındaki kodu en üste koymak her zaman çalışır. Üstelik başlangıçta göründüğünden daha az can sıkıcıdır. Tanımlamak istediğiniz davranışı yaptırmak için en ağrısız ve uygun yol dosyanın başında bir main fonksiyonu tanımlamak ve en altta çağırmaktır.

#!/usr/bin/env ruby

def main
  # Burada ana mantigini aciklayin...
end

# ...buraya destek kodunu koyun, gerekiyorsa aciklayin...

main # ... ve calistirmaya baslayin.

Bu yöntem ayrıca Ruby'nin karmaşık programları, okunabilir, tekrar kullanılabilir ve mantıksal ilişkilendirilmiş parçalara bölünmesini desteklemesine yardımcı olur. Daha önce modüllere ulaşmak için include özelliğinin kullanımını görmüştük. Ayrıca load ve require özellikleri de yararlı olabilir. load başvurduğu dosya kopyalanıp yapıştırılmış gibi işlev görür (C'deki #include ön işlemcisine benzer). require biraz daha yetenekli bir özelliktir: kodun bir kere ve ihtiyaç duyulduğu zaman yüklenmesini sağlar. load ve require arasındaki diğer farklılıklar için Ruby SSS'a bakın.

İşte bu kadar!...

Bu kılavuz Ruby'de program yazmaya başlamanıza yetecek kadar bilgi içerir. Eğer başka sorularınız olursa Ruby başvuru kılavuzu'na göz atabilirsiniz. Ruby SSS ve başvuru kütüphanesi de yararlı kaynaklardan bir kaç tanesidir.

Şansınız bol olsun, mutlu kodlamalar!


Nesne Hazırlaması
Önceki
İçindekiler
İçindekiler
İçindekiler
Sonraki