معاملات فحص النوع
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 26 من 94.
تتحقق عوامل اختبار النوع في Dart من أنواع المتغيرات أثناء وقت التشغيل: حيث يتحقق is مما إذا كان المتغير يطابق نوعاً معيناً، بينما يتحقق is! مما إذا كان لا يطابقه.
void main() {
var number = 42;
var isInteger = number is int;
print('Is $number an integer? $isInteger');
}void main() {
var price = 9.99;
var isNotInteger = price is! int;
print('Is $price not an integer? $isNotInteger');
}void main() {
var value1 = 'Hello';
var value2 = 42;
var value3 = true;
print('$value1 is a String: ${value1 is String}');
print('$value2 is a double: ${value2 is double}');
print('$value3 is a bool: ${value3 is bool}');
}التحدي
سهلقم بإنشاء برنامج Dart يستخدم معاملات اختبار النوع (is و is!) للتحقق من أنواع المتغيرات:
- قم بإنشاء متغير
numberبالقيمة42باستخدام استنتاج النوع (var) - قم بإنشاء متغير
decimalبالقيمة3.14باستخدام استنتاج النوع - قم بإنشاء متغير
textبالقيمة"Hello"باستخدام استنتاج النوع - قم بإنشاء متغير
activeبالقيمةtrueباستخدام استنتاج النوع - استخدم معامل
isللتحقق مما إذا كان كل متغير من نوعه الصحيح (int، double، String، bool) - استخدم معامل
is!للتحقق مما إذا كان كل متغير ليس من نوع غير صحيح - اطبع النتائج بالتنسيق الدقيق الموضح في المخرجات المتوقعة
يجب أن تتطابق مخرجاتك مع هذا التنسيق تماماً:
number is int: true number is! String: true decimal is double: true decimal is! int: true text is String: true text is! bool: true active is bool: true active is! double: true
ورقة مرجعية
تتحقق عوامل اختبار النوع في لغة Dart من أنواع المتغيرات أثناء وقت التشغيل:
is- يتحقق مما إذا كان المتغير يطابق نوعاً معيناًis!- يتحقق مما إذا كان المتغير لا يطابق نوعاً معيناً
var number = 42;
var isInteger = number is int; // true
var isNotString = number is! String; // true
print('Is $number an integer? $isInteger');
print('Is $number not a string? $isNotString');يمكنك التحقق من أنواع متعددة:
var value1 = 'Hello';
var value2 = 42;
var value3 = true;
print('$value1 is a String: ${value1 is String}'); // true
print('$value2 is a double: ${value2 is double}'); // false
print('$value3 is a bool: ${value3 is bool}'); // trueجرّب بنفسك
void main() {
// إنشاء متغيرات باستخدام استنتاج النوع
var number = ?;
var decimal = ?;
var text = ?;
var active = ?;
// التحقق من الأنواع باستخدام عامل التشغيل 'is' وطباعة النتائج
print("number is int: ${number ? int}");
print("number is! String: ${number ? String}");
print("decimal is double: ${decimal ? double}");
print("decimal is! int: ${decimal ? int}");
print("text is String: ${text ? String}");
print("text is! bool: ${text ? bool}");
print("active is bool: ${active ? bool}");
print("active is! double: ${active ? double}");
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة