إدخال المستخدم
في هذا الدرس، سنتعلم كيفية الحصول على إدخال من المستخدم في روبي باستخدام أمر gets. هذا يسمح لبرامجنا بالتفاعل مع المستخدمين وتلقي بيانات منهم.
أمر gets
أمر gets يوقف البرنامج وينتظر حتى يكتب المستخدم شيئاً ويضغط Enter:
لكن هناك مشكلة! عندما يضغط المستخدم Enter، يُضاف سطر جديد (\n) في نهاية الإدخال:
استخدام chomp لإزالة السطر الجديد
لحل هذه المشكلة، نستخدم دالة chomp التي تزيل السطر الجديد من نهاية النص:
الفرق بين gets و gets.chomp
ملاحظة مهمة: الإدخال في المتصفح
في هذه الدورة التفاعلية، نستخدم ruby.wasm لتشغيل روبي في المتصفح. بما أنه لا يوجد "طرفية" حقيقية في المتصفح، نستخدم نظام إدخال محاكى.
كيف يعمل؟
- اكتب القيم التي تريد إدخالها في حقل الإدخال أعلى المحرر
- كل سطر يمثل إدخالاً منفصلاً لكل
gets - عند تشغيل الشيفرة، سيقرأ
getsالسطر التالي من حقل الإدخال
مثال: إذا كان حقل الإدخال يحتوي على:
والشيفرة هي:
سيكون الناتج:
أمثلة عملية
مثال 1: تحية شخصية
مثال 2: جمع معلومات
مثال 3: سؤال وجواب
gets يُرجع دائماً نصاً
تذكر أن gets يُرجع دائماً نصاً (String)، حتى لو أدخل المستخدم رقماً:
دوال مساعدة مع gets
تنظيف الإدخال
التحقق من الإدخال الفارغ
جدول ملخص
| الأمر | الوصف | مثال |
|---|---|---|
gets | قراءة سطر من الإدخال (مع \n) | input = gets |
gets.chomp | قراءة سطر بدون سطر جديد | input = gets.chomp |
gets.chomp.strip | قراءة وإزالة المسافات الإضافية | input = gets.chomp.strip |
gets.chomp.downcase | قراءة وتحويل لأحرف صغيرة | input = gets.chomp.downcase |
نصائح مهمة
- استخدم دائماً
chompمعgetsلتجنب مشاكل السطر الجديد - تذكر أن الإدخال نص - ستحتاج تحويله إذا أردت رقماً
- نظّف الإدخال باستخدام
stripللتخلص من المسافات الزائدة - تحقق من الإدخال الفارغ قبل استخدامه
- في المتصفح: استخدم حقل الإدخال المحاكى لإدخال القيم مسبقاً
مثال شامل: بطاقة تعريف
التمرين
الآن حان دورك! اكتب برنامجاً يطلب من المستخدم اسمه ثم يحييه بشكل شخصي.
ملاحظة: أدخل اسماً في حقل الإدخال أعلى المحرر قبل تشغيل الشيفرة.
الناتج المتوقع: