قيم الإرجاع
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 53 من 86.
حتى الآن، قامت دوالنا بتنفيذ إجراءات مثل طباعة الرسائل. ولكن غالباً ما تحتاج إلى دالة لحساب شيء ما وإرجاع نتيجة. هنا يأتي دور قيم الإرجاع (return values).
لجعل الدالة ترجع قيمة، أضف سهماً (->) متبوعاً بنوع الإرجاع بعد الأقواس، ثم استخدم الكلمة المفتاحية return:
func add(a: Int, b: Int) -> Int {
return a + b
}
let sum = add(a: 3, b: 5)
print(sum) // الناتج: 8تخبر -> Int لغة Swift أن هذه الدالة تُرجع عدداً صحيحاً. تُرسل جملة return القيمة مرة أخرى إلى المكان الذي تم استدعاء الدالة منه. يمكنك بعد ذلك تخزين هذه القيمة في متغير، أو استخدامها في الحسابات، أو تمريرها إلى دالة أخرى.
func multiply(x: Int, y: Int) -> Int {
return x * y
}
let result = multiply(x: 4, y: 3) + 10
print(result) // الناتج: 22يمكن للدوال إرجاع أي نوع—String، و Double، و Bool، والمزيد. يجب أن يتطابق نوع الإرجاع مع ما تقوم بإرجاعه بالفعل:
func isEven(number: Int) -> Bool {
return number % 2 == 0
}
print(isEven(number: 4)) // النتيجة: trueالتحدي
سهلاكتب دالة calculateArea تأخذ width و height وتعيد مساحة المستطيل.
اضرب العرض في الارتفاع لحساب المساحة.
المعاملات:
width(Int): عرض المستطيلheight(Int): ارتفاع المستطيل
القيمة المرجعة: مساحة المستطيل (Int)
على سبيل المثال، إذا كان width هو 5 و height هو 3، فإن الدالة تعيد 15.
ورقة مرجعية
يمكن للدوال إرجاع قيم باستخدام الكلمة المفتاحية return. حدد نوع الإرجاع باستخدام سهم (->) بعد الأقواس:
func add(a: Int, b: Int) -> Int {
return a + b
}
let sum = add(a: 3, b: 5)
print(sum) // المخرج: 8يجب أن يتطابق نوع الإرجاع مع القيمة التي يتم إرجاعها. يمكن للدوال إرجاع أي نوع—Int، وString، وDouble، وBool، إلخ:
func isEven(number: Int) -> Bool {
return number % 2 == 0
}
print(isEven(number: 4)) // المخرج: trueيمكن تخزين القيم المرجعة في متغيرات أو استخدامها مباشرة في التعبيرات:
func multiply(x: Int, y: Int) -> Int {
return x * y
}
let result = multiply(x: 4, y: 3) + 10
print(result) // المخرج: 22جرّب بنفسك
func calculateArea(width: Int, height: Int) -> Int {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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)