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

باحث الأنماط

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

challenge icon

التحدي

متوسط

اكتب الدالة find_occurrences قبل _ready(). وهي:

  1. تأخذ سلسلتين نصيتين: text وpattern
  2. تحسب عدد مرات ظهور pattern في text، بما في ذلك مرات الظهور المتداخلة
  3. تعيد مصفوفة تتكون من ثلاثة عناصر:
    • true إذا عُثر على النمط، وfalse خلاف ذلك
    • عدد مرات الظهور
    • مصفوفة تحتوي على موضع بداية كل مرة ظهور

على سبيل المثال، إذا كانت قيمة text هي "abababab" وكانت قيمة pattern هي "aba"، فستُعيد الدالة [true, 3, [0, 2, 4]]، لأن "aba" تبدأ عند المواضع 0 و2 و4.

إذا لم يُعثر على النمط، فأعِد [false, 0, []].

تقرأ الدالة _ready() المعطاة السلسلتين، وتستدعي دالتك، ثم تطبع النتيجة. استبدل pass بجسم الدالة.

جرّب بنفسك

extends Node

func find_occurrences(text, pattern):
	# اكتب الكود الخاص بك هنا
	pass

func _ready():
	var text := OS.read_string_from_stdin()
	var pattern := OS.read_string_from_stdin()
	# استدعِ الدالة واطبع النتيجة
	var result = find_occurrences(text, pattern)
	print(result)

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

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