المعاملات والوسائط
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 52 من 86.
تصبح الدوال أكثر قوة عندما يمكنها قبول المدخلات. المعاملات (Parameters) هي عناصر نائبة يتم تعريفها في إعلان الدالة، بينما الوسائط (arguments) هي القيم الفعلية التي تمررها عند استدعاء الدالة.
لإضافة معلمة (parameter)، حدد اسمها ونوعها داخل الأقواس:
func greet(name: String) {
print("Hello, \(name)!")
}
greet(name: "Alice") // المخرج: Hello, Alice!
greet(name: "Bob") // المخرج: Hello, Bob!هنا، name: String هو المعلمة (parameter)—فهو يخبر Swift أن الدالة تتوقع قيمة من النوع String. عند استدعاء الدالة، تقوم بتمرير الوسيط (argument) باستخدام اسم المعلمة متبوعاً بنقطتين رأسيتين.
يمكن للدوال قبول معلمات متعددة، مفصولة بفواصل:
func introduce(name: String, age: Int) {
print("\(name) is \(age) years old.")
}
introduce(name: "Sara", age: 25)
// المخرجات: Sara is 25 years old.يعمل كل معامل (parameter) كأنه ثابت داخل جسم الدالة—يمكنك استخدامه ولكن لا يمكنك تعديله. يجب أن يتطابق ترتيب الوسائط (arguments) مع ترتيب المعاملات في تعريف الدالة.
التحدي
سهلاكتب دالة createFullName تأخذ firstName و lastName وتعيد الاسم الكامل كسلسلة نصية واحدة.
اجمع الاسمين مع وجود مسافة بينهما.
المعاملات:
firstName(String): الاسم الأول للشخصlastName(String): اسم العائلة للشخص
القيمة المعادة: الاسم الكامل مع مسافة بين الاسم الأول واسم العائلة (String)
على سبيل المثال، إذا كان firstName هو "John" و lastName هو "Doe"، فإن الدالة تعيد "John Doe".
ورقة مرجعية
يمكن للدوال استقبال مدخلات من خلال المعلمات (parameters). المعلمات هي عناصر نائبة يتم تعريفها في إعلان الدالة مع اسم ونوع:
func greet(name: String) {
print("Hello, \(name)!")
}
greet(name: "Alice") // Output: Hello, Alice!عند استدعاء دالة، تقوم بتمرير الوسائط (arguments) باستخدام اسم المعلمة متبوعاً بنقطتين رأسيتين.
يمكن للدوال استقبال معلمات متعددة، مفصولة بفاصلات:
func introduce(name: String, age: Int) {
print("\(name) is \(age) years old.")
}
introduce(name: "Sara", age: 25)
// Output: Sara is 25 years old.تعمل المعلمات مثل الثوابت داخل جسم الدالة ولا يمكن تعديلها. يجب أن يتطابق ترتيب الوسائط مع ترتيب المعلمات.
جرّب بنفسك
func createFullName(firstName: String, lastName: 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)