December 17, 2022

Not: Belki tekrar benzer başlığı açıyorum ama mutlaka bahsettim, sadece bulamıyorum 😀 O yüzden bulması kolay olsun diye anahtar sözcüklü yeni bir başlığımız/konumuz var...

Biliyorsunuz yapılarda bir kolaylık var, varsayılan kurucusu ile oluşturup üye sırasıyla hemen kullanıyorsunuz. Sınıflarda ise bu olmasa da bazı durumlarda this(){}'e ihtiyaç duyuluyor. Sınıflarda da kullanılabilecek kısaca şöyle bir kolaylık var:

this(typeof(this.tupleof) params)
{
  this.tupleof = params;
}

Kütüphanemde bunun uzun (döngülü) sürümü vardı. Güncelledim, siz de deneyin, yayın ve kütüphanenize koyun. Hadi bir örnekle irdeleyelim:

void main()
{
   Color renk;
   auto nokta = new Point(renk, 320, 240, true);
}

struct Color {}
class Point {
  Color rgba;
  int x, y;
  bool hidden;

  mixin(cKur);/*
  this(Color r, int x, int y, bool h) {
    this.rgba = r;
    this.x = x;
    this.y = y;
    this.hidden = h;
  }//*/
}
enum cKur = q{
  this(typeof(this.tupleof) params){
    this.tupleof = params;
  }
};

Başarılar...