🔢 دستورهای روبی

حلقه‌ی for در روبی: شمارش با متغیر

حلقه‌ی for همان تکرار است با یک فرق بزرگ: ربات روبی می‌داند الان در دور چندم است و می‌تواند از آن عدد استفاده کند.

حلقه‌ی for چه کار می‌کند؟

for i in range(5) بدنه را پنج بار اجرا می‌کند و در هر دور مقدار i را عوض می‌کند: ۰، ۱، ۲، ۳ و ۴. range می‌تواند شروع، پایان و گام هم بگیرد؛ range(1, 6) از ۱ تا ۵ می‌شمارد و range(10, 0, -2) از ۱۰ به‌صورت دوتایی به عقب.

داخل range فقط عدد یا متغیر عددی قبول می‌شود و گام صفر خطاست. حلقه‌ای که بیش از ۱۰۰۰ دور شود هم متوقف می‌شود. متغیر i را می‌توانید در دستورهای حرکت استفاده کنید؛ forward(i) در دور اول که i صفر است، هیچ قدمی برنمی‌دارد.

شکل بلوکی و شکل کد

حلقه‌ی for یک ساختار حالت کد است و در جعبه‌ابزار بلوکی معادل جداگانه ندارد؛ برای شمارش ساده در حالت بلوکی از «⟳ تکرار» استفاده می‌شود. در کد، هم شکل انگلیسی پایتونی و هم شکل فارسی پذیرفته می‌شود.

  • ✅ for i in range(5):
  • ✅ for i in range(1, 6):
  • ✅ for i in range(10, 0, -2):
  • ✅ فارسی: برای i در بازه(1, 6):

یک مثال کوچک با ربات روبی

برای کشیدن یک مارپیچ که ضلع‌هایش هر بار بلندتر می‌شوند بنویسید: start_paint("green") و بعد for i in range(1, 6): با بدنه‌ی forward(i) و right. روبی یک خانه، دو خانه، سه خانه و… جلو می‌رود و بعد از هر ضلع می‌چرخد.

متغیرهای معمولی هم کمک می‌کنند: n = 3 و بعد forward(n). با x = x + 1 هم می‌توان شمارنده ساخت، به شرطی که اول x = 0 نوشته شده باشد.

اشتباه‌های رایج

range از صفر شروع می‌شود و عدد پایانی را شامل نمی‌شود؛ این قانون پایتون در روبی هم برقرار است.

  • ✅ انتظار اینکه range(5) تا ۵ بشمارد
  • ✅ استفاده از متغیر قبل از مقدار دادن به آن
  • ✅ گذاشتن گام صفر در range

در کدام درس‌ها و لیگ‌ها استفاده می‌شود؟

for در ادامه‌ی حلقه‌ی تکرار درس ۱۴ و برای پروژه‌ی باز درس ۲۳ کاربرد دارد. در تمرین‌های هفتگی لیگ ۲ و لیگ ۳ هم چند فصل به for و متغیرها اختصاص دارد و پلی است از بلوک به پایتون واقعی.

نکته برای والدین و معلم

از نوجوان بخواهید قبل از اجرا، مقدار i را در هر دور روی کاغذ بنویسد. جدول ساده‌ی «دور، مقدار i، کار روبی» بهترین ابزار برای فهمیدن حلقه‌های شمارشی و آمادگی برای پایتون است.

سوال‌های پرتکرار

for در روبی با پایتون واقعی یکی است؟

شکل for i in range(…) همان پایتون است و قانون شروع از صفر هم یکی است.

آیا for شکل فارسی دارد؟

بله: برای i در بازه(1, 6):

آیا for بلوک جداگانه دارد؟

نه، for در حالت کد نوشته می‌شود؛ در حالت بلوکی از تکرار استفاده کنید.