September 02

Merhaba,

Yeni bir şey öğrendim: Bu bir derleme zamanı olanağı, tıpkı enum karesiniAl = (int a) => a * a; gibi. İşin içine AA'yi dahil ediyoruz:

alias oT = int;
enum opMap =
[ "×": (oT a, oT b) => a * b,
  "÷": (oT a, oT b) => a / b,
  //...
];

auto ikiyeKatlaVeBöl(int first, int second) {
  const katla = opMap["×"](first, 2);
  return opMap["÷"](katla, second);
}

void main()
{
  assert(6.ikiyeKatlaVeBöl(3) == 4);
}

Kod yazarken, kendi sözdiziminizi tasarlayabilirsiniz. Henüz başka ne işi yarar bilmiyorum.

Kolay gelsin...