Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

قراءة المدخلات باستخدام 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!

challenge icon

التحدي

سهل

اقرأ سطرين من الإدخال واعرض رسالة ترحيب مخصّصة.

ستتلقى مدخلين:

  1. اسم first
  2. اسم 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 في النهاية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم R عبر الإنترنت