puts و print و p
في روبي، لدينا ثلاث طرق رئيسية لطباعة النص على الشاشة: puts و print و p. كل واحدة منها تعمل بطريقة مختلفة قليلاً، وفهم الفرق بينها مهم جداً!
الأمر puts
puts هو الأمر الأكثر استخداماً للطباعة. يطبع النص ثم ينتقل تلقائياً إلى سطر جديد:
الناتج:
لاحظ أن كل نص يظهر في سطر منفصل. هذا هو السلوك الطبيعي لـ puts.
puts مع عدة قيم
يمكنك طباعة عدة قيم دفعة واحدة:
الناتج:
كل قيمة تُطبع في سطر منفصل!
الأمر print
print يطبع النص بدون الانتقال إلى سطر جديد. هذا يعني أن النص التالي سيظهر مباشرة بعده:
الناتج:
لاحظ أن كل شيء يظهر في سطر واحد!
متى نستخدم print؟
print مفيد عندما تريد بناء نص على نفس السطر:
الناتج:
الأمر p
p يختلف عن puts و print لأنه يُظهر القيمة الحقيقية للمتغير بشكل تقني (للتصحيح - debugging). يعرض النص مع علامات الاقتباس ويُظهر الرموز الخاصة:
الناتج:
لاحظ أن p يُظهر علامات الاقتباس، بينما puts لا يُظهرها.
p مع الرموز الخاصة
الناتج:
puts تُنفِّذ \n وتنتقل لسطر جديد، بينما p تُظهرها كما هي!
p للتصحيح
p مفيد جداً عند البحث عن الأخطاء:
الناتج:
p يُظهر المسافات الإضافية بوضوح!
جدول المقارنة
| الأمر | سطر جديد؟ | يُظهر علامات الاقتباس؟ | الاستخدام |
|---|---|---|---|
puts | نعم ✓ | لا | الطباعة العادية |
print | لا ✗ | لا | بناء نص على سطر واحد |
p | نعم ✓ | نعم | التصحيح وفحص القيم |
القيمة المُرجعة
هناك فرق آخر مهم: القيمة التي يُرجعها كل أمر.
putsيُرجعnilprintيُرجعnilpيُرجع القيمة نفسها (في هذه الحالة"test")
أمثلة عملية
مثال 1: بناء جملة
الناتج:
مثال 2: عرض تفاصيل مصفوفة
الناتج:
puts يطبع كل عنصر في سطر، بينما p يُظهر المصفوفة كاملة!
مثال 3: التحقق من نوع البيانات
الناتج:
p يساعدك على التمييز بين الرقم 42 والنص "42"!
نصائح للاستخدام
- استخدم
putsفي معظم الحالات للطباعة العادية - استخدم
printعندما تريد البقاء على نفس السطر - استخدم
pعند البحث عن أخطاء أو فحص قيم المتغيرات
تمرين: استخدام طرق الطباعة
حان وقت التطبيق! في محرر الشيفرة على اليسار:
المطلوب: استخدم الأوامر الثلاثة لإنتاج الناتج المطلوب:
- استخدم
printلطباعة "مرحبا " (مع مسافة) - استخدم
putsلطباعة "بالعالم" - استخدم
pلطباعة الرقم 2025
الناتج المتوقع:
تلميح: تذكر أن
putsينتقل!
تذكّر: اختيار طريقة الطباعة المناسبة يجعل برنامجك أوضح وأسهل للفهم والتصحيح!