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

عبارة match

جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 30 من 92.

تقارن عبارة match قيمةً واحدة بقائمة من الأنماط، وتشغّل كتلة أول نمط يطابقها. وهي تحل محل سلسلة طويلة من if/elif تقارن المتغير نفسه:

var day := 3
match day:
	1:
		print("Monday")
	2, 3:
		print("Midweek")
	_:
		print("Other day")

يطبع هذا Midweek.

  • ينتهي كل نمط بنقطتين رأسيتين، ويكون الكود الخاص به مزاحًا مستوى واحدًا إلى الداخل
  • تشترك عدة قيم مفصولة بفواصل في كتلة واحدة: 2, 3:
  • _ هو الرمز البديل: يطابق أي قيمة، لذا يأتي أخيرًا، مثل else

تُنفَّذ الكتلة الأولى المطابقة فقط. لا ينتقل GDScript إلى النمط التالي، لذا لا حاجة إلى كتابة break. إذا لم يطابق أي نمط، ولم يكن هناك _، فلن يُنفَّذ أي شيء.

يمكن أن تكون الأنماط سلاسل نصية أيضًا:

var weapon := "bow"
match weapon:
	"sword":
		print("Melee")
	"bow", "crossbow":
		print("Ranged")
	_:
		print("Unknown")
challenge icon

التحدي

سهل

يحتوي المتغير season على اسم فصل. اكتب تعليمة match تطبع نشاطًا له:

  • "Spring": اطبع Go hiking
  • "Summer": اطبع Go swimming
  • "Fall" أو "Autumn": اطبع Go apple picking (نمط واحد يتضمن القيمتين)
  • "Winter": اطبع Go skiing
  • أي قيمة أخرى: اطبع Stay home

اكتب جميع الحالات. عند ضبط season على "Autumn"، يكون الناتج:

Go apple picking

جرّب بنفسك

extends Node

func _ready():
	var season := "Autumn"
	# اكتب عبارة match أدناه
	pass
quiz iconاختبر نفسك

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

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

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