আমার মনে কেবল একটা সন্দেহ ছিল। নিম্নলিখিত সাবরোটাইন (উদাহরণস্বরূপ, একটি তালিকায় কোনও উপাদান অনুসন্ধান করতে) এর শেষে একটি বিবরণী রয়েছে:
list *search_list(list *l, item_type x) {
if (l == NULL) return(NULL);
if (l->item == x)
return(l);
else
return( search_list(l->next, x) );
}
আমি রিটার্ন স্টেটমেন্টের তাত্পর্যটি শেষ পর্যন্ত পেতে পারি না (অর্থাত্ সার্চ_লিস্ট রিটার্ন (l-> পরবর্তী, এক্স))। স্ট্যাক মডেল ব্যবহার করে যদি কেউ এই ধারণাটি ব্যাখ্যা করতে পারে তবে এটি সত্যিই সহায়ক হবে।
returnকরে তা একেবারেই স্পষ্ট নয়। প্রকৃতপক্ষে, কার্যকরী ভাষায় (এবং কিছু মিশ্র ভাষাগুলি, যেমন স্কালার) return প্রয়োজন হয় না : পুনরাবৃত্ত ফাংশনের মানটি তার শেষ প্রকাশের মান। সোজা search_list(l->next, x)ছাড়া লেখালেখি returnকাজ করত স্কালায়! returnবিবৃতিটির অর্থ কেবলমাত্র অপরিহার্য পটভূমি সহ প্রোগ্রামারদের কাছেই স্পষ্ট।
returnকরে।