Dispatch table
In computer science, a dispatch table is a table of pointers or memory addresses to functions or methods. Use of such a table is a common technique when implementing late binding in object-oriented programming.
It is primarily used to simplify program lines and reduce lines of code.
In different programming languages
Perl
The following shows one way to implement a dispatch table in Perl, using a hash to store references to code.- Define the table using one anonymous code-ref and one named code-ref
sub say_goodbye
- Fetch the code ref from the table, and invoke it
print $sub ? $sub-> : "unknown argument\n";
Running this Perl program as
perl greet -h will produce "hello", and running it as perl greet -g will produce "goodbye".JavaScript
Following is a demo of implementing a dispatch table in JavaScript:function doSomething
Lua
In Lua, this behavior is supported and encouraged. Here is an example:local colors =
local choice = io.read
local color = colors
if color then
end