std.typecons

std.typecons

"Type constructors" дают нам удобные вещи для ежедневного программирования.

Flag

rdmd --eval='auto f1=Yes.look; auto f2=No.look; f1 && f1.writeln; f2 || f2.writeln'

Tuple

rdmd --eval='auto aa="aa"; auto bb="bb"; foreach( e; tuple(aa,bb)){ writeln(e.toUpper);}'

Nullable

Позволяет сконструировать значение, у каторого может быть явное isNull состояние. К примеру, int f0 создаст значение 0. Если использовать Nullable значение будет "неинициализированным".

rdmd --eval='auto f0=Nullable!int.init; auto f1=Nullable!int(123); auto g1=345.nullable; writefln("%s %s %s",f0, f1, g1); if ( !f1.isNull && !g1.isNull) writeln( f1 + g1.get ); //error if try: f0.writeln; '
Nullable.null 123 345
468

results for ""

    No results matching ""