Method code for $command_lib.break_cards()

[Turn off line numbering]
  1: arg str;
  2: var card, reg, i, x, cards, out, s;
  3: 
  4: out = (cards = []);
  5: while ((reg = match_regexp(str, "(%[0-9]+)"))) {
  6:     if (reg[2][1] != 1)
  7:         out += [@.break_wildcards(str.subrange(1, reg[2][1] - 1))];
  8:     card = substr(str, @reg[2]);
  9:     str = substr(str, reg[2].sum());
 10:     if (!card[2].is_numeric())
 11:         throw(~invcard, "Argument cards must be numeric.");
 12:     card = toint(substr(card, 2));
 13:     cards += [card];
 14:     out += [card];
 15: }
 16: if (str)
 17:     out += [str];
 18: return [out, cards];

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

Tlon