Thread overview
Devingen diziyi tıpkı bir değişken gibi eksiltme!
Feb 22, 2012
Salih Dinçer
Feb 22, 2012
Salih Dinçer
February 22, 2012

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. ]

February 22, 2012

Alıntı (Ali Çehreli):

>

Bakınız:

http://ddili.org/ders/d/nitelikler.html

;)
Ya hu, ben bu dersi baştan sona hem de bir kaç gün önce tekrar ederek okumuştum. Hatta orada özellikle bu tür şeylerin yapılamayacağı aklıma gelmişti ama hangi dersin konusu hatırlayamıyordum. Meğer yapılabileceği zaten yazıyormuş. Sanırım burada sağ tarafta kullanımı hata veriyor ki onu düzeltmişler. Gerçi mantık gereği inc/dec işaretlerinin solda olması gerekir diye düşünüyorum.

Alıntı (Ali Çehreli):

>

Not: Ben "devingen"i D dizileri ile bağdaştıramıyorum. Dinamik dizi sözünü de bırakıp yalnızca "dilim" mi desek?
Vallahi elimden geldiğince Türkçe konuşmaya gayret ediyorum ve kendimi (elbette herkesi de) bu sözcüğe alıştırmaya çalışıyorum...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 22, 2012

Bakınız:

http://ddili.org/ders/d/nitelikler.html

;)

Ali

Not: Ben "devingen"i D dizileri ile bağdaştıramıyorum. Dinamik dizi sözünü de bırakıp yalnızca "dilim" mi desek?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 22, 2012

Neyse ki dilimler bölümünde hiç olmazsa değinmişim. Şurada '--d.length' ve 'd.length - 1' diye geçiyor:

http://ddili.org/ders/d/dilimler.html

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]