قراءة المدخلات باستخدام readline()
جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 29 من 78.
حتى الآن، تعلمت كيفية عرض المخرجات. الآن حان الوقت لجعل برامجك تفاعلية من خلال قراءة المدخلات من المستخدم. تتيح لك الدالة readline() التقاط ما يكتبه المستخدم.
name <- readline()
cat("Hello,", name, "\n")عند تشغيل هذا الكود، ينتظر R من المستخدم كتابة شيء ما والضغط على Enter. يتم تخزين كل ما يكتبونه في المتغير name. إذا كتب المستخدم "Alice"، فسيكون الناتج: Hello, Alice
شيء واحد مهم يجب معرفته: readline() تعيد دائماً سلسلة نصية، حتى لو قام المستخدم بكتابة رقم. إذا أدخل شخص ما "25"، يتم تخزينها كنص "25"، وليس الرقم 25. ستتعلم كيفية التحويل بين الأنواع في الدرس القادم.
يمكنك قراءة مدخلات متعددة باستخدام readline() عدة مرات:
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")كل استدعاء لـ readline() ينتظر سطر إدخال منفصل من المستخدم.
عند دمج النصوص مع المتغيرات باستخدام cat()، يتم وضع مسافة بين كل عنصر مفصول بفاصلة. في بعض الأحيان تحتاج إلى دمج النصوص بدون أي مسافة — على سبيل المثال، لإلحاق علامات الترقيم مباشرة بكلمة ما. هنا تبرز فائدة paste0(). فهي تقوم بدمج السلاسل النصية مع عدم وجود فاصل بينها:
city <- readline()
cat("Welcome to", paste0(city, "!"), "\n")هنا، paste0(city, "!") يدمج قيمة city و "!" معاً بدون مسافة، لذا إذا قام المستخدم بكتابة "Paris"، يكون المخرج: Welcome to Paris!
التحدي
سهلاقرأ سطرين من المدخلات واعرض رسالة ترحيب مخصصة.
ستتلقى مدخلين:
- الاسم الأول
- اسم المدينة
اقرأ كلا المدخلين باستخدام readline() واعرض رسالة بالتنسيق التالي:
Welcome, [name] from [city]!استخدم cat() لإنتاج المخرجات. تأكد من تضمين علامة التعجب في النهاية وحرف سطر جديد \n.
على سبيل المثال، إذا كانت المدخلات هي Emma و Paris، يجب أن تكون المخرجات:
Welcome, Emma from Paris!جرّب بنفسك
# قراءة المدخلات
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))
# TODO: اكتب كودك أدناه لعرض رسالة الترحيب
# استخدم cat() لإخراج: Welcome, [name] from [city]!
# لا تنسَ حرف السطر الجديد \n في النهايةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ