
المعاملات Parameters في لغة دارت Dart
يعتبر المعامل ( parameter ) على أنه متغير يتم كتابته و إنشاءه عندما نقوم بتعريف دالة Function و يكون الباراميتر جزء من الدالة, أي عندما نقوم بإنشاء دالة جديدة فإن الباراميتر يكون هو المتغير الذي يتم تمريره للدالة من أجل أن يتم التعامل معه و عمل المهمة الخاصة في الدالة.
تعلّمنا في الدرس السابق ما هي الدوال و قلنا أن الدوال هي عبارة عن قطع برمجية منفصِلة عن بعضها البعض و هذا يعني أن كل المتغيرات داخل دالة معيّنة لا يُمكن الوصول إليها في دالة اُخرى و لذلك لنقل القيم من دالة إلى دالة اخرى نقوم بتمرير القيم لكن ما المقصود بالتمرير؟.
مثال
void main(List<String> arguments) { printinfo(); sum avrg = sum(6, 6) / 2; print(avrg); } void printinfo() { print("Programmer Tech"); } num sum(num number1, num number2){ return number1+number2; }
أنشأنا دالة printinfo و كان عمل هذه الدالة هي طباعة النص Programmer Tech ثم أنشأنا متغير num و هو sum و به قيمتين هما number1 و number2 و أنشأنا دالة إرجاع ناتج جمع الرقمين, ثم قمنا بإستدعاء الدالة printinfo لكي تطبع ما بداخلها و إستدعينا sum لكي يأتي بنتيجة جمع الباراميترين و قسمتهم على 2.
عند تشغيل الكود السابق سوف تكون نتيجته
Programmer Tech
6.0
كما نلاحظ قام بطبع لنا ما تحمله الدالة الأولى ثم طبع لنا 6.0 وهو ناتج جمع number1 و number2 و قسمتهم على 2.
مثال 2
void main(List<String> arguments) { num avrg = sum(number1: 5, number3: 5, number2: 2) / 2; print(avrg); } num sum({num number1=0, num number2=0, number3=0}){ return number1+number2+number3; }
قمنا بالتعديل في المثال السابق ووضعنا ثلاث باراميترات ووضعنا القيم الإفتراضية 0 ثم عند أمر إستدعائهم مررنا قيم لها مباشرتاً للأول القيمة 5 و الثالث القيمة 5 و الثاني القيمة 2 و قسمناهم على 2 و في حال لم نمرر أي قيم سوف تكون القيم 0.
عند تشغيل الكود السابق سوف تكون نتيجته هي
6.0
لو أننا لم نمرر له أي قيم كما يلي
void main(List<String> arguments) { num avrg = sum() / 2; print(avrg); } num sum({num number1=0, num number2=0, number3=0}){ return number1+number2+number3; }
سوف تكون نتيجته
0.0