On Mon, 20 Jun 2005 06:36:42 GMT, Ron Adam <[EMAIL PROTECTED]> wrote: > Ron Adam wrote: > >> You might be able to use a dictionary of tuples. >> >> call_obj = {(type_obj1,0):obj1a, >> (type_obj1,0):obj1b, >> (type_boj2,1):obj2a, >> (type_obj2,1):obj2b, >> etc... } >> call_obj[(type_of_obj,order)]() >> >> >> Regards, Ron > > This won't work like I was thinking it would. > > But to get back to your is there a ? operator question... > > Try this. > > def foo(): > return "foo" > > def boo(): > return "boo" > > print (foo, boo)[1>0]() # prints "boo" > print (foo, boo)[1<0]() # prints "foo" > > Regards, > Ron
Another thought: Often complicated conditional logic is a flag that we need to refactor. An accounting package I built has an official list of approved vendors, but allows users to provisionally add a new vendor, which is corrected later. The bulk of this system only understands, "This document has-a vendor" with a "vendor factory" that returns the appropriate type of vendor. All of the logic specific to the specific subclass is internal to the subclasses themselves. -- http://mail.python.org/mailman/listinfo/python-list