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

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

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

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

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

func greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}

greet(name: "Alice")                    // المخرج: 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 greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}

greet(name: "Alice")                    // المخرج: 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

جرّب بنفسك

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

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

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