Thread overview
this'i farklı bir nesneye bağlamak
Apr 25, 2011
erdem
Apr 25, 2011
erdem
April 25, 2011

Örneğin bir sınıf içinde 'this.alan' şeklinde bir alanın değerini değiştirebiliyoruz. Ama demiş ki burada 'this''i farklı bir nesneyi gösterecek şekilde tekrar bağladığımızda hata verir. Ama bende hata vermiyor :)


import std.math;

class Test {
   double a = 0.4;
   int b;
   this(int b) {
       this.b = b;
   }
   this() {}           // Varsayılan kurucu
                       // Tüm alanlar ilklendiriliyor
}

class HataVeren {
   this() {}
   void eğlence() {
       this = new HataVeren;   // Burada this'i farklı bir nesneyi
                               // gösterecek şekilde tekrar bağladığımızda
                               // hata vermesi gerekmez mi
   }
}

unittest {
   // new ile yeni bir nesne oluşturuyoruz
   auto t = new Test;
   auto t2 = new Test(5);
   assert(t.a == 0.4 && t2.b == 5);
   auto hatalı = new HataVeren;
   hatalı.eğlence();
}

void main () {}

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

April 25, 2011

Evet haklısınız sanırım. Çünkü yazmadan önce kitabın düzeltme sayfasına (http://erdani.com/tdpl/errata/index.php?title=Main_Page) baktım. Bir hata olarak görünmüyordu.

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

April 25, 2011

Ben bu gibi uyumsuzluklarda kitabın doğru olduğunu kabul ediyorum. Kitap yazıldığı sırada bazı olanaklar dmd'de bulunmuyordu. Andrei, gerçekleştirilecekleri sözünü Walter'dan aldıkça kitabına ekliyordu.

İlerideki bir dmd derleyicisinde hata vereceğini düşünebiliriz.

Ali

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