إدخال ReadLine
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 33 من 86.
حتى الآن، استخدمت برامجك قيماً ثابتة. ولجعل البرامج تفاعلية، تحتاج إلى قبول المدخلات من المستخدم. في لغة Swift، تقوم الدالة readLine() بقراءة سطر من النص من الإدخال القياسي.
let input = readLine()
print(input)هناك تفصيل مهم هنا: readLine() تُرجع String اختيارية (String?)، وليس String عادية. وذلك لأن المدخلات قد تكون فارغة أو غير متوفرة. ستحتاج إلى فكها (unwrap) بأمان قبل استخدام القيمة:
if let name = readLine() {
print("Hello, \(name)!")
}يضمن استخدام if let أنك تعمل مع المدخلات فقط عندما تحتوي بالفعل على قيمة. هذا النمط من قراءة المدخلات وفك تغليفها بأمان هو شيء ستستخدمه بشكل متكرر عند بناء برامج تفاعلية.
التحدي
سهلاكتب دالة greetUser تأخذ name وتعيد رسالة ترحيب مخصصة.
تحاكي هذه الدالة ما ستفعله بعد فك تغليف المدخلات بأمان من readLine(). بناءً على الاسم المعطى، قم بإنشاء وإعادة سلسلة نصية للترحيب.
المعاملات:
name(String): اسم المستخدم
القيمة المعادة: ترحيب بالتنسيق التالي: Hello, [name]!
ورقة مرجعية
لقراءة مدخلات المستخدم في Swift، استخدم الدالة readLine():
let input = readLine()تعيد readLine() سلسلة نصية اختيارية (String?) لأن المدخلات قد تكون فارغة أو غير متوفرة. استخدم if let لفك الاختياري (unwrap) بأمان قبل استخدام القيمة:
if let name = readLine() {
print("Hello, \(name)!")
}جرّب بنفسك
func greetUser(name: String) -> String {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)