Thanks. That's looking pretty clean.I had already tried the shorter enum names without using the with statement, and it failed to compile. I thought it might work since the struct definition already specifies the enum type for the two members.
with (Suit) with (SuitShort)
{
static Suits[] suits = [
{spades, 1, 6, spd},
{hearts, 4, 10, hrt},
{diamonds, 4, 10, dmd},
{clubs, 10, 16, clb}
];
foreach (immutable member; suits)
...
Bye,
bearophile
