المصفوفات ذات الأنواع المحددة
جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 68 من 92.
تقبل المصفوفة العادية قيماً من أي نوع. أما المصفوفة محددة النوع فتقبل نوعاً واحداً فقط، ويُكتب بين أقواس مربعة بعد Array:
var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []يتحقق GDScript من كل قيمة. يُبلَّغ عن القيمة ذات النوع غير الصحيح داخل الأقواس قبل تشغيل البرنامج:
var scores: Array[int] = [90, "high"] # خطأ: "high" ليست قيمة من النوع intتُعد إضافة قيمة من نوع غير صحيح أثناء تشغيل البرنامج خطأً أيضًا، ولا تُضاف القيمة:
var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus) # خطأ، تبقى scores كما هي [90, 85]استنتاج النوع باستخدام := لا ينشئ مصفوفة ذات نوع محدد: var scores := [90, 85] هي Array عادية. اكتب Array[int] للحصول على واحدة.
لأن المصفوفة ذات النوع المحدد تعرف نوع عناصرها، فإن var best := scores[0] يستنتج النوع int. أما مع مصفوفة عادية، فالسطر نفسه يسبب خطأ، إذ يمكن أن تكون عناصرها من أي نوع.
للمصفوفات ذات الأنواع المحددة الفهارس والأساليب نفسها الموجودة في المصفوفات العادية، وتعرضها print(scores) بالطريقة نفسها: [90, 85].
التحدي
سهليقرأ البرنامج عددًا من الإدخال، ثم هذا العدد من الدرجات، درجة واحدة في كل سطر.
- عرّف
scoresكمصفوفة مكتوبة النوع وفارغة من الأعداد الصحيحة - اقرأ كل درجة، وحوّلها باستخدام
int()وأضفها إلىscores - اطبع
scores، ثمBest:متبوعة بأعلى درجة
بالنسبة إلى الإدخال أدناه، يكون الناتج:
3
70
95
88[70, 95, 88]
Best: 95جرّب بنفسك
extends Node
func _ready():
var count := int(OS.read_string_from_stdin())
# 1. عرّف scores كمصفوفة فارغة محددة النوع من int
# 2. اقرأ count من الدرجات وأضف كل درجة إلى المصفوفة
# 3. اطبع scores، ثم "Best: " وأعلى درجة
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات، الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - حسابات بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
الإخراجالإخراج باستخدام المتغيراتتنسيق السلاسل النصيةالإدخالالتحويل بين الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ10الدوال
تعريف دالةالمعاملاتالقيمة المعادةأنواع القيم المعادةمراجعة - دالة سيغمامراجعة - دالة التحققالقيم الافتراضية13التكرار على المصفوفات
التكرار على العناصرالتكرار باستخدام الفهارسالتكرار على السلاسل النصية الجزء 1التكرار على السلاسل النصية الجزء 216متعقّب المصروفات اليومية
نظرة عامة على المشروعإنهاء البرنامج9حلقات التكرار
حلقة forحلقة whileإيقاف الحلقةمتابعة الحلقةمراجعة - المضروبدالة rangeحلقة متداخلةمراجعة - الإدخال الديناميكي12أساسيات المصفوفات
تعريف مصفوفةالوصول إلى عناصر المصفوفةتعديل المصفوفاتدوال المصفوفاتمراجعة - مصفوفة حاصل الضربمراجعة - المصفوفة المعكوسةالمصفوفات ذات الأنواع المحددةتدرّب بنفسك: مترجم GDScript عبر الإنترنت