أنماط المصفوفات
جزء من قسم المنطق وتدفّق التنفيذ في رحلة GDScript على Coddy. الدرس 8 من 78.
يُكتب نمط المصفوفة مثل القيمة الحرفية للمصفوفة. وهو يطابق مصفوفة بالحجم نفسه، بحيث تتطابق عناصرها واحدًا تلو الآخر. يمكن أن يكون كل عنصر من النمط قيمة حرفية، أو _، أو ربطًا:
var point := [0, 7]
match point:
[0, 0]:
print("Origin")
[0, var y]:
print("On the y-axis at ", y)
[var x, var y]:
print("Point ", x, ", ", y)On the y-axis at 7يجب أن يكون الحجم متطابقًا: [var x, var y] لا يطابق [1, 2, 3]. ضع .. كعنصر أخير للسماح بأي عدد من العناصر الإضافية (بما في ذلك صفر)، واكتب [] للمصفوفة الفارغة:
var cmd := ["give", "sword", "Ana"]
match cmd:
[]:
print("Nothing typed")
["give", var item, ..]:
print("Giving ", item)Giving swordتعمل الشروط الحارسة مع أنماط المصفوفات أيضًا: يطابق [var a, var b] when a == b: عنصرين متساويين.
تطابق أنماط المصفوفات نوع Array فقط. لا يطابقها أبدًا النوع PackedStringArray الذي تُعيده split(). خزّن النتيجة في متغير مُعرّف على أنه من النوع Array لتحويلها:
var words: Array = "go north".split(" ")
match words:
["go", var dir]:
print("Heading ", dir)Heading northالتحدي
سهليقرأ البرنامج نقطة مكتوبة بالشكل x,y ويخزنها في المصفوفة point كعددين صحيحين (وهذا مكتوب مسبقًا). استخدم عبارة match مع أنماط المصفوفات لطباعة موضع النقطة، باستخدام أول قاعدة تنطبق:
- كلاهما
0:Origin xيساوي0:On the y-axis at y=متبوعًا بـyyيساوي0:On the x-axis at x=متبوعًا بـxxوyمتساويان:On the diagonal atمتبوعًا بالقيمة- أي حالة أخرى:
Point at (x, y)مع القيمتين
للمدخل 0,5، يكون الناتج:
On the y-axis at y=5للمدخل 2,7، يكون الناتج:
Point at (2, 7)جرّب بنفسك
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var point := [int(parts[0]), int(parts[1])]
# طابق point مع أنماط المصفوفات
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفّق التنفيذ
1السلاسل النصية بالتفصيل
أساليب السلاسل النصيةالبحث داخل السلاسل النصيةالاستبدال وإزالة المسافات الطرفيةالتقسيم والدمجمراجعة - التحقق من اسم المستخدم4القواميس، الجزء الثاني
القواميس المتداخلةمصفوفات من القواميسدمج القواميسنسخ القواميسمراجعة - عدّ التكرارات2اتخاذ القرارات المتقدم
المطابقة باستخدام المتغيراتشروط المطابقةأنماط المصفوفاتأنماط القواميسالتحقق من العضويةمراجعة - محلل الأوامر5تطبيق دفتر جهات الاتصال
عرض القائمةإضافة جهة اتصال8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادالمصفوفات المتعرجةأنماط شائعة للمصفوفات ثنائية الأبعادمراجعة - لوحة اللعبة6المجموعات باستخدام القواميس
ما هي المجموعة؟القاموس كمجموعةالإضافة والإزالةالاتحاد والتقاطعفرق المجموعاتمراجعة - إزالة العناصر المكررة9تجميع البيانات المتقدم
جمع القيمإيجاد الحد الأدنى والحد الأقصىالترتيب المخصصمراجعة - أداة ترتيب القواميستدرّب بنفسك: مترجم GDScript عبر الإنترنت