Pazar, Aralık 25, 2005

Rubyden Parıltılar 1 :)

Başlık biraz edebi oldu, biliyorum :) Ama internette dikkati çekmek için, böyle teknikleri kullanmaya alışmam lazım :))

Neyse, lafı uzatmadan, sadede geleyim. Programming Ruby kitabını okumaya başladım. Burada gördüğüm, Ruby'ye ait çarpıcı özellikleri yeri geldikçe, bloglamaya çalışacağım. Bunlardan ilki, nil (yani Javadaki null) nesnesi.

nil, Java ve benzeri dillerde, hiçbir şey anlamına gelir. Bir null değere herhangi bir mesaj gönderirseniz, NullPointerException alırsınız. Bu yüzden, java kodunda çoğu zaman if( x != null ) kalıbıyla önce x'in null olmadığı kontrol edilir, ondan sonra x'in bir metodu çağrılır.

Bu if cümleleri kodu kalabalıklaştırdığından dolayı, zaman zaman bunları temizlemek için Null Object Pattern adı verilen bir çözüm kullanılır. Ancak bu patternı kendiniz uygulamanız gerekir.

Ancak Rubyde nil, bir nesnedir. Bu yüzden az da olsa bazı metotları destekler. Bu da zannediyorum, if( x != null ) gibi kontrollere daha az ihtiyaç duymamızı sağlayacaktır. Yani Null Object Pattern dilin içine kısmen de olsa giydirilmiş gibi...

Hiç yorum yok: