تتميز لغة برمجة Dart بالعديد من الميزات التي تجعلها لغة قوية وسهلة الاستخدام. واحدة من هذه الميزات هي Arrow Function أو “دالة السهم”. تُستخدم الـ Arrow Function في Dart لتبسيط كتابة الدوال التي تحتوي على تعبير واحد فقط. تعتبر طريقة الـ Arrow Function بديلًا مختصرًا لكتابة الدوال التي تحتوي على تعبير واحد فقط، وتعتبر أحد أساليب الأكواد الأكثر فعالية في لغة Dart.
طريقة كتابة الـ Arrow Function في دارت:
تعتبر الـ Arrow Function في لغة دارت (Dart) من المميزات الهامة في اللغة. تُمثل الدالة بواسطة رمز “=>” وتعتبر بديلًا مختصرًا لأي دالة تحتوي على تعبير واحد فقط.
returnType functionName(parameters...) => expression;
ملاحظة: تُستخدم الـ Arrow Function لجعل الكود أقصر. إن صيغة “=> expr” هي اختصار لصيغة “{return expr; }“.
مفهوم الـ Arrow Function في Dart:
الـ Arrow Function تُمثل برمز “=>” وتُستخدم لكتابة الدوال التي تحتوي على تعبير واحد فقط. تعتبر هذه الصيغة اختصارًا لكتابة الدوال البسيطة وتجعل الكود أقل حجمًا وأكثر وضوحًا. لنفهم ذلك أكثر، دعنا نلقي نظرة على بعض الأمثلة:
double calculateInterest(double principal, double rate, double time) => principal * rate * time / 100;
عند تنفيذ الكود وطباعة نتيجة الدالة، ستحصل على الفائدة البسيطة المحسوبة بناءً على القيم المعطاة للمبلغ الأساسي والنسبة المئوية والوقت.
مثال آخر:
int add(int n1, int n2) => n1 + n2;
عند استدعاء الدالة add(5, 3)
ستحصل على الناتج 8.
أمثلة على الـ Arrow Functions في دارت:
بالإضافة إلى الأمثلة المذكورة أعلاه، يمكن استخدام الـ Arrow Function في سيناريوهات مختلفة. على سبيل المثال، يمكن استخدامها في حسابات بسيطة كما في المثال التالي:
حساب مساحة الدائرة:
double calculateArea(double radius) => 3.14 * radius * radius;
عند استدعاء الدالة calculateArea(5)
ستحصل على الناتج 78.5.
حساب القيمة المطلقة لعدد:
int absoluteValue(int number) => number < 0 ? -number : number;
ناتج الكود عند استدعاء الدالة absoluteValue(-7)
ستحصل على الناتج 7.
تحويل النص إلى حروف كبيرة:
String convertToUpperCase(String str) => str.toUpperCase();
عند استدعاء الدالة convertToUpperCase("hello")
ستحصل على الناتج “HELLO”.
حساب الفائدة بدون استخدام الـ Arrow Function:
في هذا المثال، سنقوم بحساب الفائدة البسيطة بدون استخدام الـ Arrow Function.
// دالة لحساب الفائدة double calculateInterest(double principal, double rate, double time) { double interest = principal * rate * time / 100; return interest; } void main() { double principal = 5000; double time = 3; double rate = 3; double result = calculateInterest(principal, rate, time); print("الفائدة البسيطة هي $result."); }
الناتج:
الفائدة البسيطة هي 450.0.
حساب الفائدة باستخدام الـ Arrow Function:
في هذا المثال، سنقوم بحساب الفائدة البسيطة باستخدام الـ Arrow Function.
// الـ Arrow Function لحساب الفائدة double calculateInterest(double principal, double rate, double time) => principal * rate * time / 100; void main() { double principal = 5000; double time = 3; double rate = 3; double result = calculateInterest(principal, rate, time); print("الفائدة البسيطة هي $result."); }
الناتج:
الفائدة البسيطة هي 450.0.
الحسابات البسيطة باستخدام الـ Arrow Function
في هذا المثال، سنقوم بحساب الجمع، الطرح، الضرب، والقسمة بين رقمين باستخدام الـ Arrow Function.
// الـ Arrow Function للجمع int add(int n1, int n2) => n1 + n2; // الـ Arrow Function للطرح int sub(int n1, int n2) => n1 - n2; // الـ Arrow Function للضرب int mul(int n1, int n2) => n1 * n2; // الـ Arrow Function للقسمة double div(int n1, int n2) => n1 / n2; void main() { int num1 = 100; int num2 = 30; print("المجموع هو ${add(num1, num2)}"); print("الفرق هو ${sub(num1, num2)}"); print("الضرب هو ${mul(num1, num2)}"); print("القسمة هي ${div(num1, num2)}"); }
الناتج:
المجموع هو 130 الفرق هو 70 الضرب هو 3000 القسمة هي 3.3333333333333335
تُعد الـ Arrow Function في لغة Dart أحد الأدوات القوية والفعالة لتبسيط الكود وجعله أكثر وضوحًا وسهولة في القراءة. تستخدم الـ Arrow Function في حالة الدوال التي تحتوي على تعبير واحد فقط، وتساعد في تقليل حجم الكود وتحسين إنتاجية المطور. يمكن استخدام الـ Arrow Function في العديد من السيناريوهات المختلفة، بدءًا من الحسابات البسيطة إلى تحويل البيانات ومعالجة النصوص وغيرها الكثير.
آمل أن يكون هذا المقال قد قدم لك فهمًا جيدًا للـ Arrow Function في لغة Dart وأهميتها. قمنا بتوضيح الأساسيات وتقديم أمثلة لتوضيح استخدامها. يمكنك استكشاف المزيد من الأمثلة وتجربة الكود بنفسك لتعزيز فهمك ومهاراتك في لغة Dart.