Merhaba,
Elbette bu kadar da kişiselleştirmeye gerek yok ama özellikle import satırında (alias kullanmadan) namespace çakışmasını engelleme yönteminin lezizliği ve ölçeklenebilir özelliği alışılmışın dışında ("42: notunu aldıysak kaldık!" gibi) şeyler çıkarmayı mümkün kılıyor! Harika...
//import std.conv, std.stdio;/*
import std.conv : stdTo = to; // To save screen space
import std.traits : isNumeric;
import std.stdio;
string to(To : string, From : string)(From str)
{
return ": " ~ str;
}
string to(To : string, From)(From value)
if(isNumeric!From)
{
return stdTo!string(value);
}
string to(To : string, From : bool)(From b)
{
return b ? "geçtik!" : "kaldık!";
}//*/
/** Eğer ilk satırdaki // çıkarırsanız kişiselleştirilmiş bir **/
/** to!string özelliğini etkinleştirmiş olursunuz ve böylece **/
/** kodun çıktısı gerçek (orijinal hali) olabilir :) **/
void main()
{
write(42.to!string);
write("notunu aldıysak ".to!string);
writeln(false.to!string);
}/* ÇIKTISI:
42notunu aldıysak false
*/