Records: Tuples خفيفة
اجمع القيم من دون فئة
Records: Tuples خفيفة درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
ما هو Record؟
إن record طريقة سريعة لتجميع بعض القيم معًا من دون كتابة فئة كاملة. فكّر فيه على أنه حاوية صغيرة جاهزة للاستخدام. 📦
لماذا تهم Tuples؟
أحيانًا تحتاج فقط إلى تجميع قيمتين أو ثلاث لفترة قصيرة. يتيح لك tuple فعل ذلك فورًا، من دون شيفرة إضافية أو تعريف نوع جديد.
إنشاء Record
تنشئ record بوضع قيم مفصولة بفواصل بين parentheses. وتحدّد Dart البنية والأنواع لك مباشرة.
var point = (3, 7);
print(point);تحتوي Records على أنواع مختلطة
يمكن لـ record واحد أن يجمع أنواعًا مختلفة بحرية. ويحتفظ كل موضع بنوعه الخاص، بحيث يمكنك جمع int مع String بسهولة.
var user = ('Ada', 36, true);
print(user);التعليق التوضيحي لنوع Record
يمكنك كتابة type الخاص بـ record باستخدام الأقواس أيضًا. فهو يحاكي القيم: نوع واحد لكل موضع، تفصل بينها فواصل.
(int, String) pair = (1, 'one');
print(pair);Records غير قابلة للتغيير
بعد إنشاء record، لا يمكن تغيير حقوله. وتجعل هذه immutability السجلات آمنة للمشاركة وسهلة الفهم.
تقارن Records حسب القيمة
يتساوى recordان عندما تتساوى حقولهما بالترتيب نفسه. وتأتي هذه value equality تلقائيًا من دون الحاجة إلى شيفرة إضافية.
print((1, 2) == (1, 2));إرجاع قيمتين
الفائدة الأشهر: يمكن لدالة أن تعيد record لإرجاع multiple values دفعة واحدة، بدلًا من قيمة واحدة فقط.
(int, int) minMax() => (1, 9);
print(minMax());لا حاجة إلى فئة
قبل ظهور records، كان إرجاع زوج من القيم يتطلب تعريف فئة أو استخدام List. وتتجاوز records كل هذه ceremony عند تجميع قيم لفترة قصيرة.
تعيش Records في هامش الأفكار
استخدم record عندما يكون التجميع temporary أو محليًا. أما البيانات طويلة الأمد وذات المعنى والسلوك، فما زالت الفئة الحقيقية أفضل لها.
Record في متغير
خزّن record في متغير ومرّره كما تمرّر أي قيمة. وتحافظ Dart على type safety الكامل طوال العملية.
var coord = (10.0, 20.0);
print(coord);تحقق سريع
أي عبارة عن records في Dart صحيحة؟
مراجعة: Records
أحسنتم! 🎉 إن Records هي lightweight tuples: أقواس حول القيم، غير قابلة للتغيير، تُقارن حسب القيمة، ومثالية لإرجاع نتائج متعددة من دون فئة.
الأسئلة الشائعة
هل درس «Records: Tuples خفيفة» مجاني؟
نعم — نص درس «Records: Tuples خفيفة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «Records: Tuples خفيفة»؟
اجمع القيم من دون فئة تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «Records: Tuples خفيفة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Records: Tuples خفيفة
- حقول Records الموضعية والمسمّاة
- التفكيك باستخدام Patterns
- Patterns وGuards في switch