"Steve Holden" <st...@holdenweb.com> wrote in message news:mailman.1998.1265399766.28905.python-l...@python.org...
Arnaud Delobelle wrote:
Robert Kern <robert.k...@gmail.com> writes:

I prefer Guido's formulation (which, naturally, I can't find a direct
quote for right now): if you expect that a boolean argument is only
going to take *literal* True or False, then it should be split into
two functions.

So rather than three boolean arguments, would you have eight functions?

If there's genuinely a need for that functionality, yes.

So you want a function such as drawtext(s, bold=true, italic=false, underline=true) to be split into:

drawtext(s)
drawtextb(s)
drawtexti(s)
drawtextu(s)
drawtextbi(s)
drawtextbu(s)
drawtextiu(s)
drawtextbiu(s)

Which of course is going to be fun if the bold/italic/underline values are not constants; instead of writing:

drawtext(s,b,i,u)

you have to say:

if b==0 and i==0 and u==0:
   drawtext(s)
elif b==1 and i==0 and u==0:
   drawtextb(s)

and so on. With half-a-dozen or more booleans, this becomes completely impractical.

--
Bartc
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to