Merhaba,
Bugün D dilinin İngilizce forumu (http://forum.dlang.org)na üye oldum. İlk şu başlık ilgimi çekti:
http://forum.dlang.org/thread/bug-3927-3@http.d.puremagic.com%2Fissues%2F
Orada dizinin uzunluk bilgisi istenirken arttırma veya eksiltme gösterilmiş ve bunun bir hata olduğu dile getirilmiş. Önce şaşırdım, bu tek başına bir değişken değil ki olduğu satırda (tek başına) arttırılabilsin. Bu olsa olsa benim gibi amatörlerin boş kuruntularıdır herhalde dedim. Konuya Walter'ın da dahil olduğunu görünce şu kodu farklı şekilde (çünkü halen 2.057 kullanıyordum!) deneyim dedim:
void main() {
int[] array = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
writeln(array, "~", --array.length);
//array.length++;
//array.length--;
writeln(array, "~", array.length);
}
Gördüm ki eksiltme işaretini başta kullanınca hata vermiyor ama bir şey daha yapıyor; diziyi sondan kısaltıyor! Yani dönen değeri ekran bir eksik (veya fazla) yazması dışında ikinci writeln'den ekrana yansıyan bilgiye bakılırsa 9 numaralı eleman tarih olmuş...:)
Böyle bir şeyin yapılabileceğini bilmiyordum. Çünkü length ile dönen değerin yazma korumalı olduğunu ve bunun bir sabit gibi düşünülmesi gerektiğini zannediyorum. Ali hocam herhalde daha yetkin bilgi verecektir.
Başarılar...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]