Which is better: using an if/else construct to simulate a C switch or
use a dictionary?  Example:

def foo():
   if c == 1:
      doCase1()
   elif c == 2:
      doCase2()
   elif c == 3:
      doCase3()
   elif c == 4:
      doCase4()
   elif c == 5:
      doCase5()
   else:
      raise "shouldn't get here"


or:

def foo():
   def doCase1():
      pass
   def doCase2():
      pass
   def doCase3():
      pass
   def doCase4():
      pass
   def doCase5():
      pass

   handle_case = {}
   handle_case[1] = doCase1()
   handle_case[2] = doCase2()
   handle_case[3] = doCase3()
   handle_case[4] = doCase4()
   handle_case[5] = doCase5()
   handle_case[c]()

Note that in this situation using OO polymorphism instead of a switch-
like construct wouldn't be applicable, or at least I can't see how it
could be.

Thanks in advance for any tips!

-- Arcadio

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

Reply via email to