إدخال المستخدم

تعديل
نسخ الدرس
تحميل الدرس

إدخال المستخدم

في هذا الدرس، سنتعلم كيفية الحصول على إدخال من المستخدم في روبي باستخدام أمر gets. هذا يسمح لبرامجنا بالتفاعل مع المستخدمين وتلقي بيانات منهم.

أمر gets

أمر gets يوقف البرنامج وينتظر حتى يكتب المستخدم شيئاً ويضغط Enter:

لكن هناك مشكلة! عندما يضغط المستخدم Enter، يُضاف سطر جديد (\n) في نهاية الإدخال:

استخدام chomp لإزالة السطر الجديد

لحل هذه المشكلة، نستخدم دالة chomp التي تزيل السطر الجديد من نهاية النص:

الفرق بين gets و gets.chomp

ملاحظة مهمة: الإدخال في المتصفح

في هذه الدورة التفاعلية، نستخدم ruby.wasm لتشغيل روبي في المتصفح. بما أنه لا يوجد "طرفية" حقيقية في المتصفح، نستخدم نظام إدخال محاكى.

كيف يعمل؟

  1. اكتب القيم التي تريد إدخالها في حقل الإدخال أعلى المحرر
  2. كل سطر يمثل إدخالاً منفصلاً لكل gets
  3. عند تشغيل الشيفرة، سيقرأ 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

نصائح مهمة

  1. استخدم دائماً chomp مع gets لتجنب مشاكل السطر الجديد
  2. تذكر أن الإدخال نص - ستحتاج تحويله إذا أردت رقماً
  3. نظّف الإدخال باستخدام strip للتخلص من المسافات الزائدة
  4. تحقق من الإدخال الفارغ قبل استخدامه
  5. في المتصفح: استخدم حقل الإدخال المحاكى لإدخال القيم مسبقاً

مثال شامل: بطاقة تعريف


التمرين

الآن حان دورك! اكتب برنامجاً يطلب من المستخدم اسمه ثم يحييه بشكل شخصي.

ملاحظة: أدخل اسماً في حقل الإدخال أعلى المحرر قبل تشغيل الشيفرة.

الناتج المتوقع: