प्रेषण तालिका

From alpha
Jump to navigation Jump to search

कंप्यूटर विज्ञान में, एक डिस्पैच टेबल सूचक (कंप्यूटर प्रोग्रामिंग) या मेमोरी पतों की एक तालिका है जो फ़ंक्शन या विधि (कंप्यूटर विज्ञान) के लिए होती है।[1] ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में देर से बाँधना लागू करते समय ऐसी तालिका का उपयोग एक सामान्य तकनीक है।

पर्ल कार्यान्वयन

निम्नलिखित कोड (जिसे समारोह सूचक के रूप में भी जाना जाता है) के संदर्भों को संग्रहीत करने के लिए एक सहयोगी सरणी # पर्ल का उपयोग करके पर्ल में एक प्रेषण तालिका को कार्यान्वित करने का एक तरीका दिखाता है।

# 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 = $dispatch{$ARGV[0]};
print $sub ? $sub->() : "unknown argument\n";

इस पर्ल प्रोग्राम को as perl greet -h हैलो का उत्पादन करेगा, और इसे चलाएगा perl greet -g अलविदा पैदा करेगा।

जावास्क्रिप्ट कार्यान्वयन

निम्नलिखित जावास्क्रिप्ट में डिस्पैच टेबल को लागू करने का एक डेमो है:

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"
    thingsWeCanDo[thingToDo]();
}


वर्चुअल मेथड टेबल

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा जो वर्चुअल तरीकों का समर्थन करती हैं, संकलक स्वचालित रूप से वर्चुअल मेथड्स वाले कक्षा (कंप्यूटर विज्ञान) के प्रत्येक ऑब्जेक्ट के लिए एक डिस्पैच टेबल बनाएगा। इस टेबल को [[ आभासी विधि तालिका ]] या वीटेबल कहा जाता है, और वर्चुअल मेथड के लिए हर कॉल को वीटेबल के जरिए डिस्पैच किया जाता है।

यह भी देखें

संदर्भ

  1. Goldfuss, Alice. "सी में फंक्शन डिस्पैच टेबल्स". alicegoldfuss.com. Retrieved 23 January 2021.