> >> You mean something like this?:
> >>
> >>    switch x in colours:
> >>      case RED:
> >>          # whatever
> >>      case GREEN:
> >>          # whatever
> >>      case BLUE:
> >>          # whatever
> >>
> >> I think Guido's right. It doesn't solve the underlying problem because the
> >> compiler still has to figure out how to build a dispatch table from the
> >> possible values in colours to the actual bytecode offsets of the cases.
> >
> > To implement this, you actually need two lookup tables: one particular
> > to the switch that maps labels to bytecode offsets, and one in the
> > dispatch table to map values to labels.  The former is built when the
> > switch is compiled, and the latter is built wherever the dispatch
> > table is defined.  Each lookup is still O(1), so the whole operation
> > remains O(1).
>
> what's a "label" ?

In your example, RED, GREEN, and BLUE.  colours provides a mapping
from values to labels/cases, and the switch statement provides a
mapping from labels/cases to code.  Sorry about introducing a new term
without saying anything about it.

  -- Eric Sumner
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to