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