[Turn on line numbering]arg name, flags, args, method; var item, eflags; eflags = []; for item in (flags) { switch (type(item)) { case 'string: eflags = eflags.addkey(item, 1); case 'list: if (type(item[1]) != 'string) throw(~flagerr, "Flag name must be a string."); eflags = eflags.addkey(item[1], item[2]); default: throw(~flagerr, "Flag must be a string or key,value pair."); } } return (<this(), [name, eflags, args, method]>);
// Created 17-Jul-1996 as a part of ColdCore, see: @help Credit