آموزش Ruby | توابع
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
تعریف تابع
تابع (Function) در Ruby یکی از مهمترین ابزارهایی است که به شما اجازه میدهد یک قطعه کد را یک بار بنویسید و چندین بار از آن استفاده کنید. به بیان ساده، تابع مانند یک جعبه است که مقداری ورودی میگیرد، روی آنها پردازش انجام میدهد و در صورت نیاز یک خروجی برمیگرداند. این کار باعث میشود کد شما کوتاهتر، خواناتر و قابل نگهداریتر شود.
برای تعریف یک تابع در Ruby از کلمه کلیدی def استفاده میکنیم و در پایان تابع، با کلمه کلیدی end آن را میبندیم. ساختار کلی به این صورت است:
def نام_تابع
# بدنه تابع
end
به عنوان مثال، تابعی مینویسیم که یک پیام ساده را چاپ کند:
def سلام
puts "سلام به دنیای Ruby!"
end
در این کد، سلام نام تابع است. برای اجرای این تابع کافی است نام آن را بنویسیم:
سلام
با اجرای این خط، خروجی زیر نمایش داده میشود:
سلام به دنیای Ruby!
نکته مهم این است که در Ruby، توابع را میتوان هم با پرانتز و هم بدون پرانتز فراخوانی کرد. یعنی هر دو حالت زیر درست هستند:
سلام
سلام()
یکی از ویژگیهای جالب Ruby این است که اگر تابعی فقط یک خط کد داشته باشد، میتوانید آن را به شکل کوتاهتری هم بنویسید. برای این کار از دستور def به همراه نام تابع و علامت مساوی استفاده میکنیم:
def سلام = puts "سلام به دنیای Ruby!"
این شکل نوشتار در Ruby 3 به بعد پشتیبانی میشود و برای توابع کوتاه بسیار مناسب است.
همچنین توجه داشته باشید که نام تابع باید با حروف کوچک شروع شود و میتواند شامل حروف، اعداد و زیرخط (_) باشد. اگر نام تابع با حرف بزرگ شروع شود، Ruby آن را به عنوان یک ثابت در نظر میگیرد نه یک تابع، بنابراین بهتر است همیشه از حروف کوچک برای شروع نام تابع استفاده کنید.
به عنوان یک مثال دیگر، تابعی مینویسیم که سه بار یک پیام مشخص را چاپ کند:
def سه_بار_چاپ
puts "این یک پیام تستی است"
puts "این یک پیام تستی است"
puts "این یک پیام تستی است"
end
سه_بار_چاپ
خروجی این کد به صورت زیر خواهد بود:
این یک پیام تستی است
این یک پیام تستی است
این یک پیام تستی است
همانطور که میبینید، با تعریف یک تابع، به جای نوشتن سه بار یک کد تکراری، فقط یک بار آن را تعریف میکنیم و سپس با یک خط، آن را فراخوانی میکنیم. این ویژگی هنگام کار با برنامههای بزرگ بسیار ارزشمند است، زیرا اگر بخواهید تغییری در منطق تابع بدهید، فقط کافی است بدنه تابع را ویرایش کنید و نیازی نیست همهجا را تغییر دهید.
در نهایت، دقت کنید که در Ruby همه چیز یک شیء است و توابع نیز از این قاعده مستثنا نیستند. اما در این سطح از آموزش، همین اندازه که بتوانید تابع تعریف کنید و آن را فراخوانی کنید، کافی است. در بخشهای بعدی، با پارامترها و بازگشت مقدار در توابع آشنا خواهید شد.
برای ثبت پرسش ابتدا در سایت وارد شوید.