قراءة المدخلات باستخدام readline()
جزء من قسم الأساسيات في رحلة R على Coddy. الدرس 29 من 78.
حتى الآن، تعلّمت كيفية عرض المخرجات. حان الوقت الآن لجعل برامجك تفاعلية من خلال قراءة الإدخال من user. تتيح لك الدالة readline() التقاط ما يكتبه user.
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() مفيدة. فهي ت concatenates السلاسل النصية مع عدم وجود فاصل بينها:
city <- readline()
cat("Welcome to", paste0(city, "!"), "\n")هنا، تقوم paste0(city, "!") بضم قيمة city و"!" معًا من دون مسافة، لذلك إذا كتب user "Paris"، فسيكون الناتج: Welcome to Paris!
التحدي
سهلاقرأ سطرين من الإدخال واعرض رسالة ترحيب مخصّصة.
ستتلقى مدخلين:
- اسم first
- اسم city
اقرأ كلا المدخلين باستخدام 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 في النهايةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم R عبر الإنترنت