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

شروط المطابقة

جزء من قسم المنطق وتدفّق التنفيذ في رحلة GDScript على Coddy. الدرس 7 من 78.

يضيف الحارس شرطًا إلى نمط. اكتب when وشرطًا بعد النمط: لا يطابق النمط إلا إذا كانت القيمة توافق النمط وكان الشرط true. تتوفر الحراس منذ Godot 4.4.

var hp := 15
match hp:
	0:
		print("Defeated")
	var h when h < 20:
		print("Low health: ", h)
	_:
		print("Healthy")
Low health: 15

لا يحتوي GDScript على أنماط نطاق مثل 1..10. ويؤدي نمط الإسناد مع شرط حراسة هذه المهمة: var h when h < 20: يطابق كل قيمة أقل من 20 ويسمّيها h.

عندما يكون شرط الحراسة false، ينتقل match إلى النمط التالي. تُجرَّب الأنماط من الأعلى إلى الأسفل، لذا يحدد الترتيب الكتلة التي ستُنفَّذ:

var temp := 32
match temp:
	var t when t <= 0:
		print("Freezing")
	var t when t < 15:
		print("Cold")
	var t when t < 30:
		print("Warm")
	_:
		print("Hot")
Hot

النمط الثاني لا يحتاج إلى t > 0: فدرجة حرارة تساوي 0 أو أقل تطابق النمط الأول بالفعل. يمكن للحارس استخدام أي شرط، مع متغيرات أخرى وand أو or، ويناسب أي نمط: 5 when hard_mode: يطابق 5 فقط عندما تكون hard_mode هي true.

challenge icon

التحدي

سهل

يقرأ البرنامج عمرًا كعدد صحيح في age. استخدم عبارة match مع حراس لطباعة الفئة العمرية:

  • من 0 إلى 12: Child
  • من 13 إلى 19: Teenager
  • من 20 إلى 64: Adult
  • من 65 إلى 120: Senior
  • أي عدد آخر: Invalid age

يشمل كل نطاق طرفيه. بالنسبة إلى الإدخال 15، يكون الناتج:

Teenager

جرّب بنفسك

extends Node

func _ready():
	var age := int(OS.read_string_from_stdin())
	# اطبع الفئة العمرية باستخدام match والشروط الحارسة
quiz iconاختبر نفسك

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

جميع دروس المنطق وتدفّق التنفيذ

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