Aşağıdaki alıntı şuradan alınmıştır: http://ddili.org/forum/thread/1021
Alıntı (acehreli:1352473477):
>'dilim ~= 0' yapıldığında 'dilim'in sonuna yeni bir eleman ekleniyor ama orada o elemanın güvenle ekleneceği yer yok (çünkü orada 'rakamlar' diliminin bir elemanı var.).
O zaman D çalışma ortamı (D runtime) 'dilim'in elemanlarını önce yeni bir diziye kopyalar ve dilim'in artık onu göstermesini sağlar. Sonra 'dilim ~= 0' işlemi uygulanırken yeni elemana yer vardır.
Bu konuyla ilgili yazı da şu:
http://ddili.org/makale/d_dilimleri.html
İngilizce aslının bir kopyası da şuradaymış:
http://dlang.org/d-array-article.html
Ali
Peki hocam, aşağıdaki örnekte paylaşımın sonlanması gerekmez mi?
int[] rakamlar = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
import std.stdio;
void main() {
auto birDilim = rakamlar[0..$];
rakamlar.length = 5;
rakamlar.reverse;
rakamlar.writeln;
birDilim.writeln;
}
Çıktısı:
'[4, 3, 2, 1, 0]
[4, 3, 2, 1, 0, 5, 6, 7, 8, 9]'
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]