06 Swift : الدوال Functions الجزء الأول

Abatherمنذ 7 سنوات

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

 

في شرحنا لهذا اليوم سنتطرق لعنصر مهم في أي لغة برمجة ألا وهو Function (الترجمة الحرفية : الوظائف).

لنفهم الـ function بشكل بسيط لنأخذ الجسم البشري كمثال لكل عضو من أعضاء الجسم وظيفة يقوم بها، فاللسان مسؤول عن الكلام، العينان عن النظر و الأذنان عن السمع وهكذا

كل عضو يقوم بما أوكل إليه كذلك الـ Functions فهي عبارة عن مجموعة من الأكواد المترابطة وتقوم بمهمة محددة، في جسمنا عندما نريد الكلام فإن المخ يرسل الأوامر إلى اللسان ليبدأ بالكلام

كذلك عندما نريد من Function معينة أن تقوم بمهمتها كل ما علينا هو مناداتها عن طريق أسمها الذي نعطيه لها في أثناء إنشاء هذه الـ Function.

في الشروحات السابقة أستخدمنا أحد هذه الـ Function وهي print() فما هذه إلا وظيفة تقوم بطباعة ما داخل القوسين على الشاشة.

هناك أنواع من Functions ويختلف طريقة تعريفها على حسب نوعها سنتطرق لأهمها :

1- هذا النوع من Function مهمته هي القيام بمجموعة من الأكواد فقط، لنفرض أني أريد طباعة أسم أحدهم وعمره وبعض بياناته:


print("myName")
print("myAge")
print("myInfo")

بعض الأحيان قد أريد طباعة هذه البيانات في مكان آخر، قد يقول أحدهم بإمكانك نسخ هذه الأسطر ولصقها في المكان الذي تريد

هذا صحيح بإمكاني فعل هذا ولكن ماذا لو كان عدد الأسطر كثير؟ ماذا لو كان لدي خطأ في هذه الأكواد؟ أو ماذا لو أردة القيام ببعض التغير؟ 

عندها سأضطر لأن أراجع كل مكان قمت فيه بلصق هذه الأسطر وبعض الأحيان قد أغفل عن بعضها ناهيك عن الوقت الذي سأقوم بتضيعه.

هنا يأتي دور الـ Function بكل بساطة أنشأ واحدة  بأسم myInfo وعندها ستقوم بطباعة كل هذا كلما قمت بمناداتها:


func myInfo(){
    print("myName")
    print("myAge")
    print("myOtherInfo")
}

هذه هي الطريقة لإنشاء هذا النوع من الـ Function:

- نكتب الكلمة الدلالية func.

- اسم الـ Function متبعة بـ ().

- الأكواد اللتي نريدها داخل هذه الـ Function بين {}.

 

وبكل بساطة عندما أريد أن آنادي هذه الـ Function كل ما علي هو كتابة أسمها كالتالي:


myInfo()

ملاحظة: عند مناداة الـ Function لا تنسى إضافة الـ () 

وستقوم بكل ما داخلها من أكواد.

 

2- هذا النوع شبيه لـ print() فعند مناداتك لهذه الـ Function يجب عليك أن تعطيها قيمة داخل ()، لنفرض أنك قمت بإنشاء Function تأخذ البيانات من المستخدم

ومن ثم تقوم ببعض الأشياء بها، لنقم ببعض التعديلات على مثالنا السابق:


    func myInfo(Name: String, Age: Int){
        print("your name is \(Name) and you are \(Age) years old")
    }

نلاحظ بأن هناك أختلاف في أنشاء الـ Function هنا ففي هذه الحالة ما بين () ليس فارغ وإنما يحتوي على بعض الأشياء  وهي ما نطلق عليها Parameters (المعطيات أو المعامل).

الفائدة من هذه المعطيات هي تمكين المستخدم في أثناء استخدام الـ Function من تمرير بعض المعطيات إليها ففي مثالنا السابق بإمكاني أعطاء الـ Function أي أسم وأي عمر وستقوم بطباعته لي.

كيف أقوم بإنشاء المعطيات؟!

أهم نقطة يجب معرفتها بأن المعطيات تكون بين () ولإنشاء أي معطى يجب عليك أن تعطيه أسم وأن تحدد نوعه.

في مثالنا السابق لدينا معطيين أحدهما يحمل الأسم Name والنوع String أما الآخر فيحمل الأسم Age والنوع Int.

كيف نقوم بنداء هذه الـ Function؟!


myInfo("Haider", Age: 22)

كما في السابق ولكن علينا أن نعطيها المتغيرات. كما نلاحظ فإن المتغير الأول كتبناه مباشرة أما الثاني فإننا كتبنا أسمه قبل وضع قيمته.

بإمكاننا التحكم في الأسم الذي نريد استخدامه في أثاء نداء الـ Function وذلك في أثناء إنشائها كما في التالي:


    func myInfo(Name: String, A Age: Int){
        print("your name is \(Name) and you are \(Age) years old")
    }

كل ما علينا فعله هو إضافة أسم للمعطى قبله وعندها في نداء الـ Function سيكون كالتالي:


 myInfo("Haider", A: 22)

كذلك لديك الخيار بأن لا يكون هناك اسم مطلاقاً وبإمكنك فعل ذلك بالتغير في الـ Function :


    func myInfo(Name: String, _ Age: Int){
        print("your name is \(Name) and you are \(Age) years old")
    }

هكذا ستتمكن من إعطاء المعطيات بدون أي أسماء كما التالي:

 myInfo("Haider", 22)

ويجب عليك الإنتباه إلى أنه يجب أن يتطابق نوع البيانات اللتي تمررها إلى الدالة مع النوع الموجود في Function

 

تبقى لدينا نوع أخير وأفضل أن آتركه لما بعد لأنه يتطلب بعض من الأمثلة والكثير من الشرح 

أسأل الله القدير بأن أكون قد وفقت لإصال المعلومة بيسر وسهولة 

 

في حفظ الله 

كلمات دليلية:
3
إعجاب
6532
مشاهدات
0
مشاركة
0
متابع
متميز
محتوى رهيب

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !