dispatch table; symbolic references
    Emil 
    emilper at gmail.com
       
    Sat Jun  8 05:36:53 PDT 2013
    
    
  
need a dispatch table and tried it this way:
class Action {
     string[string] function(string[string] p) action;
     this( string[string] function(string[string] p) action_ref ) {
         this.action = action_ref;
     }
     string[string] execute(string[string] parameters) {
         return this.action(parameters);
     }
}
then
Action[string] dispatch_table = [
     "test1" : new Action(&myapp.index.test),
     "test2" : new Action(&myapp.index.another_test)
];
auto my_first_result = dispatch_table["test1"].execute(["a": 
"aa", "b":"BB"]);
auto my_second_result = dispatch_table["test2"].execute([" some 
string key for test2": "in test 2"]);
This works, but I am wondering if there is another way. Does D 
support symbolic references so I could keep the hashtable in a 
string[string], or even use a string variable holding a class 
name to instantiate a class ?
thank you
    
    
More information about the Digitalmars-d-learn
mailing list