From: Stephen D. <sd...@gm...> - 2005-05-28 12:10:37
|
On 5/28/05, Zoran Vasiljevic <zv...@ar...> wrote: >=20 > Am 28.05.2005 um 13:36 schrieb Stephen Deasey: >=20 > > To be compatible, the type specifier would have to be the third arg, > > but then you couldn't specify the type without also specifying a > > default. I don't see a clean way to do it... >=20 >=20 > Hm.. so you are after >=20 > arg {arg val} args >=20 > type of compatibility as in Tcl proc? I did not think about that > because we are using our own parser. What is the benefit/reason > to maintain this kind of compatibility when we already preprocess > args ourselves? It will confuse people who read the code, don't you think? Some Unix utilities use + to signify flipping an option when ther are many, so you could end up with something like this: ns_parseargs {+bool -opt {-opt def} arg {arg def} args} This disadvantage of this is that you could not emulate some of the standard Tcl commands... I guess you could use all sorts of symbols: ns_parseargs {+bool -opt {=3Dchoice x {x y z}}} Hmm, is it a problem that you have to supply a default if you want to enforce choosing oneof many? If the choices are contrained to x, y and z but you also want to allow 'neither', couldn't you extend the choices to 0, x, y, z, with 0 being the default? Just throwing out ideas... |