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