Playing cards: Difference between revisions

Content added Content deleted
(Nimrod -> Nim)
(Updated first D entry)
Line 745: Line 745:
alias Card = Tuple!(Pip, Suit);
alias Card = Tuple!(Pip, Suit);


auto newDeck() pure nothrow @safe @nogc {
auto newDeck() pure nothrow @safe {
return cartesianProduct([EnumMembers!Pip], [EnumMembers!Suit]);
return cartesianProduct([EnumMembers!Pip], [EnumMembers!Suit]);
}
}
Line 757: Line 757:
}
}


void show(in Card[] deck) {
void show(in Card[] deck) @safe {
writefln("Deck:\n%(%s\n%)\n", deck);
writefln("Deck:\n%(%s\n%)\n", deck);
}
}


void main() {
void main() /*@safe*/ {
auto d = newDeck.array;
auto d = newDeck.array;
d.show;
d.show;