کامنتها در روبی
کامنت تکخطی، چندخطی و کامنتهای خاص (BEGIN/END) در روبی
کامنت چیست؟
کامنتها (Comments) یادداشتهایی هستند که در کد مینویسید اما روبی آنها را اجرا نمیکند. کامنتها برای توضیح کد، یادآوری و مستندسازی استفاده میشوند.
کامنت تکخطی
کامنتها با علامت # شروع میشوند. هر چیزی بعد از # در همان خط، کامنت است:
# این یک کامنت است
puts "سلام دنیا!" # این هم یک کامنت است
کامنت در انتهای خط
x = 5 # تعریف متغیر x
y = 10 # تعریف متغیر y
کامنت چندخطی
روبی کامنت چندخطی مجزا ندارد، اما دو راه وجود دارد:
راه ۱: چند #
# این خط اول توضیح است
# این خط دوم توضیح است
# این خط سوم توضیح است
puts "کد اینجا"
راه ۲: =begin/=end
=begin
این یک کامنت چندخطی است
که با =begin شروع و با =end تمام میشود
توجه: =begin و =end باید در ابتدای خط باشند
=end
puts "کد اینجا"
=begin و =end باید دقیقاً در ابتدای خط باشند (بدون فاصله قبل از آنها).کامنتهای خاص روبی
BEGIN و END
روبی دو بلوک خاص دارد که قبل و بعد از اجرای برنامه اجرا میشوند:
BEGIN {
puts "این قبل از هر چیز اجرا میشود"
}
END {
puts "این بعد از همه چیز اجرا میشود"
}
puts "این بدنه اصلی برنامه است"
کامنتهای جادویی (Magic Comments)
کامنتهای خاصی که رفتار روبی را تغییر میدهند:
Encoding
# encoding: utf-8
puts "سلام دنیا!"
Frozen String Literals
# frozen_string_literal: true
# تمام رشتهها در این فایل immutable میشوند
چرا از کامنت استفاده کنیم؟
- توضیح کد پیچیده: منطقهای پیچیده را توضیح دهید
- یادآوری: بعداً یادتان باشد کد چه میکند
- همکاری تیمی: دیگران کد شما را بفهمند
- غیرفعال کردن کد: موقتاً کدی را اجرا نکنید
قوانین خوب کامنتنویسی
✅ کامنت خوب:
# محاسبه مالیات ۹ درصد tax = price * 0.09❌ کامنت بد:
# ضرب قیمت در ۰.۰۹ tax = price * 0.09
کامنت خوب چرایی را توضیح میدهد، نه چگونگی!
غیرفعال کردن کد با کامنت
گاهی میخواهید موقتاً کدی را اجرا نکنید:
puts "این اجرا میشود"
# puts "این اجرا نمیشود"
puts "این هم اجرا میشود"
انواع کامنت با کاربرد خاص
TODO — کارهای باقیمانده
# TODO: اعتبارسنجی ورودی را اضافه کن
# FIXME: این بخش با اعداد منفی مشکل دارد
# HACK: راهحل موقت، بعداً بازنویسی شود
کامنت منطقهای (Region)
# ============================
# بخش ۱: تنظیمات اولیه
# ============================
config = load_config
# ============================
# بخش ۲: پردازش داده
# ============================
process_data
RDoc — مستندسازی
روبی از RDoc برای مستندسازی استفاده میکند. کامنتهای خاصی که قبل از متدها و کلاسها قرار میگیرند:
# محاسبه مساحت دایره
#
# +radius+ شعاع دایره
#
# area = calculate_area(5)
# puts area # => 78.54
def calculate_area(radius)
Math::PI * radius ** 2
end
میانبرهای مفید
در VS Code:
Ctrl + /(ویندوز) یاCmd + /(مک): کامنت/عدم کامنت کردن خط انتخابشده
خلاصه
| نوع | سینتکس | کاربرد |
|---|---|---|
| تکخطی | # متن | توضیح کوتاه |
| چندخطی | چند # | توضیح طولانی |
| بلوکی | =begin...=end | کامنت بلوکی |
| BEGIN/END | BEGIN { } | کد قبل/بعد از برنامه |
این مبحث بخشی از دوره آموزش کامل روبی است.