Method code for $command_lib.break_cards()

[Turn on line numbering]
arg str;
var card, reg, i, x, cards, out, s;

out = (cards = []);
while ((reg = match_regexp(str, "(%[0-9]+)"))) {
    if (reg[2][1] != 1)
        out += [@.break_wildcards(str.subrange(1, reg[2][1] - 1))];
    card = substr(str, @reg[2]);
    str = substr(str, reg[2].sum());
    if (!card[2].is_numeric())
        throw(~invcard, "Argument cards must be numeric.");
    card = toint(substr(card, 2));
    cards += [card];
    out += [card];
}
if (str)
    out += [str];
return [out, cards];

// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit

Tlon