معاملات فحص النوع
جزء من قسم Fundamentals في رحلة Dart على Coddy. الدرس 26 من 94.
تتحقق مشغلات فحص الأنواع (type test operators) في Dart من أنواع المتغيرات أثناء وقت التشغيل (runtime): للتحقق مما إذا كان المتغير يطابق نوعًا معينًا نستخدم 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
جرّب بنفسك
void main() {
// أنشئ متغيرات باستخدام استنتاج النوع
// استبدل كل عنصر نائب بقيمة من النوع الذي يسميه سطر الطباعة الخاص به
var number = null;
var decimal = null;
var text = null;
var active = null;
// تحقق من الأنواع باستخدام عوامل اختبار النوع واطبع النتائج
// استبدل كل عنصر نائب باختبار نوع بحيث يطبع كل سطر قيمة منطقية
print("number is int: ${number}");
print("number is! String: ${number}");
print("decimal is double: ${decimal}");
print("decimal is! int: ${decimal}");
print("text is String: ${text}");
print("text is! bool: ${text}");
print("active is bool: ${active}");
print("active is! double: ${active}");
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمةتدرّب بنفسك: مترجم Dart عبر الإنترنت