> >> 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4