Anonymous user
Set puzzle: Difference between revisions
→{{header|D}}: removed some of the constness because the code wouldn't compile otherwise
(D entry: removed assumeUnique, added immutable and const, used foreach, shorter lines, and other small changes) |
(→{{header|D}}: removed some of the constness because the code wouldn't compile otherwise) |
||
Line 72:
std.exception;
protected {
enum Color : ubyte {green, purple, red}
Line 86:
}
}
Line 107:
immutable(Card)[] deal(in uint numCards) const {
enforce(numCards < deck.length, "number of cards too large");
return assumeUnique(deck[].randomSample(numCards).array());
}
Line 158:
const cards = dealer.deal();
writefln("
foreach (c; cards)
writeln(cast()c);
Line 164:
immutable sets = dealer.findSets(cards);
immutable len = sets.length;
writefln("\nFOUND %d %s:\n", len, len == 1 ? "SET" : "SETS");
foreach (set; sets) {
foreach (c; set)
Line 173:
{{out|Sample output}}
<pre>DEALT 9 CARDS:
Card(green, two, diamond, open)
Card(green, three, oval, striped)
Line 184 ⟶ 185:
FOUND 4 SETS:
Card(green, two, diamond, open)
Card(purple, two, squiggle, open)
|