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

تسميات الوسائط

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

تمنحك Swift التحكم في كيفية قراءة استدعاءات الدوال باستخدام تسميات الوسائط (argument labels). تسمية الوسيط هي ما تستخدمه عند استدعاء الدالة، بينما اسم المعامل (parameter name) هو ما تستخدمه داخل جسم الدالة.

يمكنك تحديد كليهما عن طريق كتابة تسمية الوسيط قبل اسم المعامل:

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

greet(to: "Alice")  // المخرجات: Hello, Alice!

هنا، to هي تسمية الوسيط (تُستخدم عند الاستدعاء)، و name هو اسم المعامل (يُستخدم داخل الدالة). هذا يجعل الاستدعاء يُقرأ بشكل طبيعي أكثر: "greet to Alice."

أحيانًا قد ترغب في حذف التسمية تمامًا للحصول على استدعاءات أكثر وضوحًا. استخدم الشرطة السفلية (_) كتسمية للوسيط:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // الناتج: 25

بدون الشرطة السفلية (underscore)، سيتعين عليك كتابة square(number: 5). تزيل الشرطة السفلية هذا المتطلب، مما يجعل استدعاء الدالة أبسط عندما يوضح اسم الدالة الغرض منها بالفعل.

challenge icon

التحدي

سهل

قم بإنشاء دالتين توضحان تقنيات مختلفة لتسمية الوسائط (argument labels):

الدالة 1: send

  • استخدم تسمية الوسيط message مع اسم المعامل text (من نوع String)
  • استخدم تسمية الوسيط to مع اسم المعامل recipient (من نوع String)
  • أعد سلسلة نصية بالتنسيق التالي: "Sending '[text]' to [recipient]"

الدالة 2: double

  • استخدم الشرطة السفلية _ لإغفال تسمية الوسيط
  • اسم المعامل number (من نوع Int)
  • أعد الرقم مضروباً في 2

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

ستتلقى المدخلات التالية:

  • السطر الأول: نص الرسالة (مثلاً، "Hello")
  • السطر الثاني: اسم المستلم (مثلاً، "Alice")
  • السطر الثالث: رقم لمضاعفته (مثلاً، "7")

على سبيل المثال، إذا كانت المدخلات هي "Hello" و "Alice" و "7"، يجب أن يكون المخرج:

Sending 'Hello' to Alice
14

ورقة مرجعية

تسمح لك لغة Swift بالتحكم في كيفية قراءة استدعاءات الدوال باستخدام تسميات الوسائط (argument labels). تُستخدم تسمية الوسيط عند استدعاء الدالة، بينما يُستخدم اسم المعامل داخل جسم الدالة.

حدد كليهما عن طريق كتابة تسمية الوسيط قبل اسم المعامل:

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

greet(to: "Alice")  // المخرج: Hello, Alice!

هنا، to هي تسمية الوسيط و name هو اسم المعامل.

لحذف تسمية الوسيط من أجل استدعاءات أكثر وضوحاً، استخدم الشرطة السفلية (_):

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // المخرج: 25

بدون الشرطة السفلية، ستحتاج إلى كتابة square(number: 5).

جرّب بنفسك

// قراءة المدخلات
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: اكتب الكود الخاص بك أدناه
// قم بتعريف الدالة 'send' مع تسميات الوسائط 'message' و 'to'


// قم بتعريف الدالة 'double' مع حذف تسمية الوسيط باستخدام '_'


// استدعِ كلتا الدالتين واطبع النتائج
quiz iconاختبر نفسك

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

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