[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