Can sıkıntısı işte, ne zamandır ihtiyaç duyuyordum böyle bir şeye:
enum { BA, BS, LF, FF, HT, VT }
char _(T)(T karakter) @property {
switch(karakter) {
case BA: return 7; // Bell Alert (blinking window on new OS)
case BS: return 8; // Back Space
case LF: return 10; // Line Feed = '\n'
case FF: return 12; // Form Feed = '\r'
case HT: return 9; // Horizantal Tab = '\t'
case VT: return 11; // Vertical Tab = '\n...\t'
default: return 0; // Null
}
}
Aslında bu enum&işlev ikilisi yerine, sadece ('cast'('char')'8'.writeln(" "); satırını pekala kullanabilirdik. Ama bana bu cast'leri yazmak ölüm geliyor. Bir de UFCS ile birlikte kullanırken parantez kullanma zorunluluğuna dellenmeden edemiyorum...:)
Özetle, metin tabanalı uygulamalarda iş kolaylaştıracak basit bir şey işte. Örneğin:
import std.stdio: write;
void main() {
string[3] D = [ " D", "Dilini,", "Dünyalar kadar seviyorum..."];
"Bu bir deneme:".write(D[0], VT._);
BS._.write(D[1]);
foreach(gerigel; D[1]) BS._.write;
VT._.write(D[2], LF._);
BA._.write; // Öyle ki pencere bile buna göz kırpıyor...:)
}
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]