Menu
CoddyTech
flag Ar iconالعربيةdown icon

المصفوفات ذات الأنواع المحددة

جزء من قسم الأساسيات في رحلة 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].

challenge icon

التحدي

سهل

يقرأ البرنامج عددًا من الإدخال، ثم هذا العدد من الدرجات، درجة واحدة في كل سطر.

  1. عرّف scores كمصفوفة مكتوبة النوع وفارغة من الأعداد الصحيحة
  2. اقرأ كل درجة، وحوّلها باستخدام int() وأضفها إلى scores
  3. اطبع 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: " وأعلى درجة
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم GDScript عبر الإنترنت