Dart and flutter

المعاملات Parameters في لغة دارت Dart 11

Parameters في لغة دارت

المعاملات 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

 

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"

مقالات ذات صلة

زر الذهاب إلى الأعلى