Concept

Dispatch table

Summary
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. The following shows one way to implement a dispatch table in Perl, using a hash to store references to code (also known as function pointers).

Define the table using one anonymous code-ref and one named code-ref

my %dispatch = ( "-h" => sub { return "hello\n"; }, "-g" => &say_goodbye ); sub say_goodbye { return "goodbye\n"; }

Fetch the code ref from the table, and invoke it

my sub=sub = dispatch{ARGV[0]}; 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". Following is a demo of implementing dispatch table in JavaScript: var thingsWeCanDo = { doThisThing : function() { /* behavior / }, doThatThing : function() { / behavior / }, doThisOtherThing : function() { / behavior / }, default : function() { / behavior */ } }; var doSomething = function(doWhat) { var thingToDo = thingsWeCanDo.hasOwnProperty(doWhat) ? doWhat : "default" thingsWeCanDothingToDo; } Virtual method table In object-oriented programming languages that support virtual methods, the compiler will automatically create a dispatch table for each object of a class containing virtual methods. This table is called a virtual method table or vtable, and every call to a virtual method is dispatched through the vtable.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.