Thread overview
Şablonlar ile Fonksiyon içinde derleme zamanı kontrol
August 28, 2013

Nerede sorduğumu bulamadım açıkçası ama bir ara sormuştum bunu ve "in" opearatörüne override yaparken kullanılan bir olaydan aklıma geldi nasıl yapılacağı

void x(string T)(){
	if(T == "qwe"){
		writeln("test");
	}else{
		writeln("test");
	}
}

int main(string[] argv){
	x!"in"();
	x!"qwe"();
	writeln("Hello D-World!");
  return 0;
}

Burada şablon üzerinden gönderildiği için kontroller derleme zamanı yapılıyor ve runtime a bırakılmıyor harika :) istediğim tam olarak bu idi :)

Zekeriya

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

August 28, 2013

Ama kesinlikle 'static if' kullanmanı öneririm. 'if' istediğin gibi işliyorsa derleyici eniyileştirmesi yüzünden olabilir. Evet, T derleme zamanında bilindiğine göre derleme zamanı olanağı olan 'static if' doğrusudur.

Bu arada, T daha çok türler için kullanılıyor. Onun yerine o dizginin anlamını veren başka bir isim daha kullanışlı olabilir.

Ali

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

August 29, 2013

Anladım evet haklısınız hocam. Teşekkür ederim. Bu olaya ihtiyacım vardı çünkü 1-2 optimizasyon sağlayacak diye kodu gereksiz yere tekrardan yazmak çok anlamsız geliyordu. Onun yerine bu yükü derleyiciye bırakmak kod kalabalığını örtecektir ve runtime çalışma süresini azaltacaktır.

Zekeriya

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