دستور بازگشتی

در برنامه‌نویسی، یک دستور بازگشتی(Return) سبب خارج شدن از رویه فعلی شده و برنامه از آنجایی که رویه صدا زده شده به کار خود ادامه می‌دهد همچنین این اصطلاح را نقطه بازگشت (Return Address) گویند. از زمان فراخوانی رویه تا زمان پایان آن نقطه بازگشت درون پشته برنامه ذخیره می‌شود. دستور Return در بسیاری از زبان‌های برنامه‌نویسی به یک رویه این امکان را می‌دهد تا یک مقدار مشخصی را از آنجایی که در برنامه فراخوانی شده باشد بازگرداند.

 تاریخچه 
در سی/سی پلاس‌پلاس دستور return exp; سبب به انتها رسیدن رویه و بازگشت آن به نقطه فراخوانی می‌شود و مقدار exp را گزارش می‌دهد. اگر نوع رویه از نوع Void باشد می‌توان دستور return را بدون مقدار خاصی استفاده کرد که تنها منجر به خروج از رویه می‌شود.

دستور return در پاسکال وجود ندارد. (هرچند در نسخه‌های جدید پاسکال به کمک دستور Exit(exp); می‌توان یک مقدار را بازگشت داد و بدون پارامتر فقط از رویه خارج می‌شود)

در برخی از زبان‌های برنامه‌نویسی بیان گرا از جمله لیسپ، پرل و روبی به جای آنکه مقدار آخر رویه را بازگشت دهند به برنامه‌نویس این امکان را می‌دهند تا یک مقدار صریح را بیان کنند.

در برخی موارد اگر مقدار واضحی برای مقدار بازگشتی رویه وجود نداشته باشد می‌توان از مقدار null استفاده کرد: در پایتون وقتی مقدار بازگشتی وجود نداشته باشد مقدار None بازگشت داده خواهد شد همچنین در جاوااسکریپت مقدار Undefined برای این حالت تلقی می‌شود.

 دستورها 
دستور return دارای اشکال مختلفی است. در زیر رایج‌ترین آنها اشاره شده‌است:
زباندستور Returnمقدار بازگشتی در صورت وجود نداشتنسی، سی پلاس‌پلاس، جاوا، پی‌اچ‌پی، سی شارپ، جاوااسکریپت، دی، ایدا، بشreturn value;در سی و سی پلاس‌پلاس، رفتار نامشخص وجود دارد.
در پی‌اچ‌پی، بازگشت مقدار NULL

در جاوااسکریپت، بازگشت مقدار undefinedبیسیکRETURNلیسپ(return value)مقدار آخرین دستورپرل، روبیreturn @values;
return $value;
return;or a contextual return sequenceمقدار آخرین دستورپایتونreturn valueNoneاسمال‌تاک^ valueویژوال بیسیک دات‌نتReturn valueویندوز پاورشلreturn value;objectاسمبلی اکس۸۶retمقدار ثبات eax

 جستارهای وابسته 
 ￼￼رویه￼￼
 برنامه‌نویسی

 منابع 

رده:برنامه‌نویسی
رده:زیرروال‌ها