Wyszukiwanie wzorców
Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 91 z 92.
Wyzwanie
ŚredniNapisz funkcję find_occurrences powyżej _ready(). Funkcja:
- Przyjmuje dwa ciągi znaków:
textipattern - Liczy, ile razy
patternwystępuje wtext, wliczając nakładające się wystąpienia - Zwraca tablicę z trzema elementami:
true, jeśli znaleziono wzorzec, w przeciwnym raziefalse- Liczba wystąpień
- Tablica z pozycją, od której zaczyna się każde wystąpienie
Na przykład, jeśli text ma wartość "abababab", a pattern ma wartość "aba", funkcja zwraca [true, 3, [0, 2, 4]], ponieważ "aba" zaczyna się na pozycjach 0, 2 i 4.
Jeśli wzorzec nie zostanie znaleziony, zwróć [false, 0, []].
Podana funkcja _ready() odczytuje oba ciągi znaków, wywołuje Twoją funkcję i wyświetla wynik. Zastąp pass treścią funkcji.
Spróbuj swoich sił
extends Node
func find_occurrences(text, pattern):
# Napisz tutaj swój kod
pass
func _ready():
var text := OS.read_string_from_stdin()
var pattern := OS.read_string_from_stdin()
# Wywołaj funkcję i wypisz wynik
var result = find_occurrences(text, pattern)
print(result)
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneDzielenie całkowiteOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
WyjścieWyjście ze zmiennymiFormatowanie ciągów znakówWejścieRzutowanie typówPowtórka — do 120Powtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiArgumentyZwracanie wartościTypy zwracanych wartościPowtórka — funkcja sigmaPowtórka — funkcja walidującaWartości domyślne5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operator warunkowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych14Zaawansowane tablice
Wycinanie fragmentów tablicyOperatory sekwencjiPrzynależnośćSortowanie i odwracanie3Zmienne, część 2
Deklarowanie typówWnioskowanie o typachStałePowtórka — inicjalizacja zmiennychKonwersja typów6Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka – prosty kalkulatorZagnieżdżone if - elseInstrukcja match9Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka — silniaFunkcja rangePętla zagnieżdżonaPowtórka — dane wejściowe dynamicznePoćwicz samodzielnie: Kompilator GDScript online