Şu ana değin, hep Ruby'nin parıltılarını anlatıyordum. Bu sefer bir değişiklik yapacağım. Ruby'yle ilgili bir sorumu, hatta pek de hoşuma gitmeyen bir noktayı yazacağım. Nesne odaklı programlamayla ilgili kurallardan biri, değer nesnelerinin (value objects - ancak bu kavramı J2EE Design Patterns'ın value object patternıyla karıştırmayın, o farklı bir şey) bir kere oluşturulduktan sonra değiştirilmemesi (immutable) gerekir. Bunu temin etmek için, Java String, Integer gibi en çok kullanılan değer nesnelerini değiştirilmez kılmıştır.
Ancak gördüğüm kadarıyla Ruby'de böyle bir durum yok. Değer nesnelerini değiştirebiliyorsunuz....
Rubyde:
x = "merhaba"
x.upcase!
puts x
=>
"MERHABA"
Javada:
String x = "merhaba";
String y = x.toUpperCase();
System.out.println("x = " + x);
System.out.println("y = " + y);
=>
x = merhaba
y = MERHABA
Neden böyle yapmışlar acaba?
Salı, Aralık 27, 2005
Rubyye Sorularim 1
Gönderen Mert Nuhoglu zaman: 11:57 ÖS
Etiketler: programlama, ruby
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder