
التعامل مع الدوال في لغة دارت Dart
الدوال (functions) هي مجموعة من الأوامر و هذه الأوامر تقوم بمهام معينة يتم استدعائها عند الحاجة إليها من أي مكان في داخل البرنامج.
أي إذا كان لدينا كود ونريد كتابته أكثر من مرة في البرنامج على سبيل المثال يوجد كود يجمع عددين و نحتاج لكتابته أكثر من مرة أو عشر مرات و بهذه الحالة سوف نقابل مشكلة تكرار الكود نفسه كثيراً و إهدار الجهد و الزمن, فبدلاً من تكرار الكود نقوم بوضع الكود بداخل دالة function و ثم استدعاء الدالة عند الحاجة لهذا الكود فبذلك نكون قد إختصرنا الجهد والوقت والزمن وجعلنا برنامجنا مختصر ومنظّم وبشكل جميل.
و يقال أيضاً عن الدوال على أنها كتلة برمجية تقوم بتنفيذ مجموعة من المهام وفق ترتيب محدد و هي تكون عبارة عن برنامج فرعي مهمته تنفيذ مهمة معينة حين يتم إستدعاءه ( أي عبارة عن مجموعة أوامر مجمعة في مكان واحد و تتنفذ عندما نقوم بإستدعائها).
المعرفة بالدوال درس مهم جداً لأي مبتدأ أو مُقدم على البرمجة يجب أن يكون مُلمّاً بهذا الموضوع وبدون معرفة كيفية بناء الدوال function لا يطلق على الشخص بأنه مبرمج أو يفهم في البرمجة بدون هذا الموضوع الذي هو بناء الدوال function.
إن افضل طريقة لإنشاء و صيانة البرامج الكبيرة هي تقسيم البرنامج إلى اكثر من قطعه برمجية, حيث أن كل قطعة تقوم بأداء مهام خاصة و بذلك تكون صيانة كل قطعه على حدى اسهل بكثير من لو وقعت مشكلة في برنامج كبير ذو قطعه واحدة.
الشكل العام لكتابة الدالة في دارت
function_Name () { //statements }
إن function_Name هو إسم الدالة و نضع بعده قوسين دائرية () ثم قوسين معكوفة و بداخلهم ماهو مطلوب تنفيذه أو الأوامر المطلوبة من هذا الكود.
قواعد إنشاء دالة في لغة دارت
- غير مسموح بإستخدام فراغات في إسم الدالة.
- غير مسموح بإستخدام الأشكال الخاصة ما عدا _.
- غير مسموح بإستخدام أحرف غير الأحرف الإنجليزية.
- غير مسموح أن يبدأ إسم الدالة برقم.
أنواع الدوال في دارت
يوجد أربع أنواع من الدوال في لغة دارت و هي:
- بدون معطيات و بدون مرجعات.
- مع معطيات و بدون مرجعات.
- بدون معطيات مع مرجعات.
- مع معطيات و مع مرجعات.
void main(List<String> arguments) { eating(); } eating() { print("eating now"); }
أنشأنا دالة ()eating و هذه الدالة بها أمر طباعة جملة eating now و بعد إنشاها قمنا في داخل البرنامج الرئيسي بإستدعاءها بإسمها فقط لكي تعمل بدون أي مشاكل.
و عند تشغيل الكود سوف تكون النتيجة بالشكل
eating now
في حال أضفنا أكثر من أمر طباعة بنفس هذه الدالة, ثم قمنا بإستدعاءها مرتين سوف يطبع جميع الأوامر بكل مرة إستدعاء.
void main(List<String> arguments) { eating(); eating(); } eating() { print("eating now1"); print("eating now2"); print("eating now3"); print("eating now4"); }
أنشأنا دالة بها عدة أوامر طباعة ثم إستدعيناها مرتين في البرنامج الرئيسي, و عند تشغيل البرنامج سنحصل على النتيجة
eating now1
eating now2
eating now3
eating now4
eating now1
eating now2
eating now3
eating now4