Carl Banks wrote: > On Sep 28, 9:51 am, Steven Bethard <[EMAIL PROTECTED]> wrote: >> It was decided that practicality beats purity here. Arguments with >> leading hyphens which look numeric but aren't in the parser are >> interpreted as negative numbers. Arguments with leading hyphens which >> don't look numeric and aren't in the parser raise errors. Sure, it's not >> the pure answer, but it's the practical answer: "-123" is much more >> likely to be a negative number than an option. > > What if (for example) you define a option "-3", and also accept > numerical arguments on the command line. Then you could get sudden > unexpected behavior if you input the wrong number: > > "./hello -1" works ok. > "./hello -2" works ok. > "./hello -3" ... whoops, now the negative number is suddenly an > option. > > Granted, it would be stupid for a program to do that, but it suggests > to me that it's probably a good idea to treat all negative numbers the > same. I.e. if there are any numerical options, then all negative > numbers are treated as options. If there are none, then negative > numbers are treated as numbers.
That's probably a good guideline. Anyone mixing numeric flags with negative number arguments is asking for an exception of some sort. ;-) I'm going to let it sit for a while and think about it, but I'll probably make that change in the next release. STeVe -- http://mail.python.org/mailman/listinfo/python-list