Menu
CoddyTech
flag Ar iconالعربيةdown icon

القيم الافتراضية

جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 57 من 86.

أحيانًا تكون للمعامل قيمة تُستخدم معظم الوقت. وبدلًا من مطالبة المستدعي بتوفيرها في كل مرة، يمكنك تعيين قيمة افتراضية لذلك المعامل.

لتعيين قيمة افتراضية، استخدم عامل الإسناد (=) بعد نوع المعلمة:

func greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}
greet(name: "Alice")                    // Output: Hello, Alice!
greet(name: "Bob", greeting: "Hi")      // الناتج: Hi, Bob!

عند استدعاء الدالة، يمكنك حذف المعلمات التي لها قيم افتراضية. ستستخدم Swift القيمة الافتراضية تلقائيًا. ولكن إذا كنت بحاجة إلى قيمة مختلفة، فلا يزال بإمكانك تقديم قيمة بشكل صريح.

ينبغي وضع المعلمات ذات القيم الافتراضية في نهاية قائمة المعلمات. فهذا يحافظ على نظافة استدعاءات الدوال وسهولة قراءتها:

func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
    return base + (base * taxRate)
}
print(calculatePrice(base: 100))              // الناتج: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // الناتج: 120.0

تجعل القيم الافتراضية دوالك أكثر مرونة. فهي تعمل ببساطة في الحالات الشائعة، مع السماح بالتخصيص عند الحاجة.

challenge icon

التحدي

سهل

اكتب دالة formatGreeting تأخذ name وgreeting وrepeatCount وتُرجع رسالة تحية منسّقة.

يجب أن تستخدم الدالة قيمًا افتراضية للمعاملات الاختيارية:

  • يجب أن تكون القيمة الافتراضية لـ greeting هي "Hello"
  • يجب أن تكون القيمة الافتراضية لـ repeatCount هي 1

أنشئ سلسلة نصية تكرّر نمط التحية العدد المحدد من المرات، مع الفصل بينها بمسافات.

المعاملات:

  • name (String): اسم الشخص (مطلوب)
  • greeting (String): كلمة التحية (الافتراضي: "Hello")
  • repeatCount (Int): عدد مرات تكرار التحية (الافتراضي: 1)

القيمة المُعادة: سلسلة نصية يتكرر فيها نمط التحية. التنسيق: يتكرر "[greeting], [name]!" عدد repeatCount من المرات، مع الفصل بينها بمسافة واحدة (String)

على سبيل المثال، إذا كانت قيمة name هي "Alice"، وقيمة greeting هي "Hi"، وقيمة repeatCount هي 2، فستُرجع الدالة "Hi, Alice! Hi, Alice!".

إذا تم استدعاؤها باستخدام name فقط باعتباره "Bob" (مع استخدام القيم الافتراضية)، فستُرجع "Hello, Bob!".

جرّب بنفسك

func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
    // اكتب الكود هنا
}
quiz iconاختبر نفسك

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

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

تدرّب بنفسك: Playground لـ Swift