Musterfinder
Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 91 von 92.
Aufgabe
MittelSchreibe die Funktion find_occurrences oberhalb von _ready(). Sie:
- Nimmt zwei Zeichenketten entgegen:
textundpattern - Zählt, wie oft
patternintextvorkommt, einschließlich überlappender Vorkommen - Gibt ein Array mit drei Elementen zurück:
true, wenn das Muster gefunden wurde, andernfallsfalse- Die Anzahl der Vorkommen
- Ein Array mit der Position, an der jedes Vorkommen beginnt
Wenn zum Beispiel text den Wert "abababab" und pattern den Wert "aba" hat, gibt die Funktion [true, 3, [0, 2, 4]] zurück, weil "aba" an den Positionen 0, 2 und 4 beginnt.
Wenn das Muster nicht gefunden wird, gib [false, 0, []] zurück.
Die vorgegebene Funktion _ready() liest die beiden Zeichenketten ein, ruft deine Funktion auf und gibt das Ergebnis aus. Ersetze pass durch den Funktionskörper.
Probier es selbst
extends Node
func find_occurrences(text, pattern):
# Schreibe hier deinen Code
pass
func _ready():
var text := OS.read_string_from_stdin()
var pattern := OS.read_string_from_stdin()
# Rufe die Funktion auf und gib das Ergebnis aus
var result = find_occurrences(text, pattern)
print(result)
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorRechenabkürzungenRückblick – Einfache MathematikVergleichsoperatoren7Einfache Ein- und Ausgabe
AusgabeAusgabe mit VariablenString-FormatierungEingabeTypumwandlungWiederholung – bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenArgumenteRückgabewertRückgabetypenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungsteiler
BegrüßungsnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Variablen Teil 2
TypdeklarationTypinferenzKonstantenWiederholung – Variablen initialisierenTypumwandlung6Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – einfacher TaschenrechnerVerschachteltes If - ElseMatch-Anweisung9Schleifen
For-SchleifeWhile-SchleifeBreakContinueWiederholung – FakultätDie Range-FunktionVerschachtelte SchleifeWiederholung – Dynamische EingabeÜbe selbstständig: Online-GDScript-Compiler