مراجعة - فك القيم بأمان
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 15 من 86.
التحدي
سهلاكتب دالة formatPlayerInfo تأخذ name و score و level للاعب كسلاسل نصية (strings) وتعيد ملخصاً منسقاً للاعب.
استخدم جميع تقنيات فك الاختيارية (unwrapping) الثلاث التي تعلمتها للتعامل مع القيم التي قد تكون مفقودة:
- استخدم
guard letللتحقق مما إذا كان الاسم صالحاً (غير فارغ). إذا كان الاسم فارغاً، فقم بإرجاع"Unknown player"فوراً. - استخدم
??(nil coalescing) لتوفير درجة افتراضية هي"0"إذا كانت الدرجة (score) فارغة. - استخدم
if letللتحقق مما إذا كان المستوى (level) صالحاً (غير فارغ). إذا كانت له قيمة، فقم بتضمينه في المخرجات؛ وإلا، فاحذف جزء المستوى.
تنسيق المخرجات:
- إذا تم توفير المستوى:
"[name] - Score: [score], Level: [level]" - إذا كان المستوى فارغاً:
"[name] - Score: [score]"
المعاملات (Parameters):
name(String): اسم اللاعب (السلسلة الفارغة تمثل nil)score(String): درجة اللاعب (السلسلة الفارغة تمثل nil)level(String): مستوى اللاعب (السلسلة الفارغة تمثل nil)
القيمة المرجعة: سلسلة نصية منسقة تحتوي على معلومات اللاعب، أو "Unknown player" إذا كان الاسم فارغاً.
تلميح: قم بتحويل السلاسل الفارغة إلى قيم اختيارية (optionals) داخل دالتك عن طريق التحقق مما إذا كانت فارغة وتعيين nil إذا كان الأمر كذلك.
جرّب بنفسك
func formatPlayerInfo(name: String, score: String, level: 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)