المعاملات المسماة
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 73 من 94.
تتيح لك المعاملات المسماة (Named parameters) في Dart تحديد معاملات الدالة بالاسم بدلاً من الموضع. يتم تعريفها باستخدام الأقواس المتعرجة {} في إعلان الدالة.
أنشئ دالة باستخدام المعلمات المسماة (named parameters):
void greet({String name, int age}) {
print('Hello, $name! You are $age years old.');
}
void main() {
greet(name: 'Dart', age: 12);
}بعد تنفيذ الكود أعلاه، ستكون النتيجة:
Hello, Dart! You are 12 years old.عند استدعاء دالة بمعلمات مسماة (named parameters)، فإنك تحدد اسم المعلمة متبوعاً بنقطتين رأسيتين:
void main() {
// يمكن أن تكون المعلمات بأي ترتيب
greet(age: 30, name: 'Alice');
}بعد تنفيذ الكود أعلاه، ستكون المخرجات:
Hello, Alice! You are 30 years old.التحدي
مبتدئفي هذا التحدي، ستتدرب على استخدام المعاملات المسماة (named parameters) في Dart. تجعل المعاملات المسماة استدعاءات الدوال أكثر وضوحاً من خلال تحديد أسماء المعاملات عند استدعاء الدالة.
أكمل الدالة greetUser عن طريق إضافة معاملات مسماة لـ name و age. ثم استدعِ الدالة بالقيم المقدمة.
المخرجات المتوقعة:
Hello, Alice! You are 25 years old.ورقة مرجعية
يتم تعريف المعلمات المسماة (Named parameters) في Dart باستخدام الأقواس المتعرجة {} وتسمح لك بتحديد معلمات الدالة بالاسم بدلاً من الموضع:
void greet({String name, int age}) {
print('Hello, $name! You are $age years old.');
}عند استدعاء دالة بمعلمات مسماة، حدد اسم المعلمة متبوعاً بنقطتين رأسيتين. يمكن أن تكون المعلمات بأي ترتيب:
greet(name: 'Dart', age: 12);
greet(age: 30, name: 'Alice');جرّب بنفسك
void main() {
// هذه القيم معرفة مسبقاً لك
String userName = 'Alice';
int userAge = 25;
// TODO: قم باستدعاء الدالة greetUser باستخدام المعاملات المسماة (named parameters)
// قم بتمرير userName كمعامل name و userAge كمعامل age
// الدالة معرفة في الأسفل
}
// TODO: قم بتعديل هذه الدالة لاستخدام المعاملات المسماة بدلاً من المعاملات الموضعية (positional parameters)
// تلميح: استخدم الأقواس المتعرجة {} حول المعاملات
void greetUser({required String name, required int age}) {
print('Hello, $name! You are $age years old.');
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة12الدوال المتقدمة
المعاملات الموضعية الاختياريةالمعاملات المسماةالمعاملات المسماة المطلوبةالقيم الافتراضية للمعاملاتملخص - معاملات الدوال