Dzielenie i łączenie
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 4 z 78.
Potrafisz już dzielić ciągi znaków za pomocą split() i łączyć tablice za pomocą join(). Obie metody potrafią więcej.
Elementy zwracane przez split() są ciągami znaków, dokładnie takimi, jak występują między separatorami, wraz ze spacjami. Oczyść lub przekonwertuj każdy element, zanim go użyjesz. Element wyniku można zastąpić za pomocą jego indeksu:
var items := "sword, shield ,bow".split(",")
print(items)
for i in range(items.size()):
items[i] = items[i].strip_edges()
print(items)["sword", " shield ", "bow"]
["sword", "shield", "bow"]Drugi argument funkcji split() jest tym, który już znasz: true zachowuje puste fragmenty, false je pomija. Trzeci argument ogranicza liczbę podziałów. split(" ", true, 1) dzieli tylko przy pierwszej spacji, która oddziela polecenie od reszty wiersza:
print("say hello there".split(" ", true, 1))["say", "hello there"]rsplit() działa tak samo, ale liczy podziały od prawej strony, więc może podzielić nazwę pliku przy ostatniej kropce:
print("save.backup.json".rsplit(".", true, 1))["save.backup", "json"]join() przyjmuje również tablicę liczb i zamienia każdą z nich na tekst: ", ".join([3, 1, 2]) to "3, 1, 2".
Wyzwanie
ŁatwyProgram odczytuje jeden wiersz słów oddzielonych przecinkami do zmiennej line. Wokół słów mogą znajdować się spacje, na przykład red, green ,blue.
Wypisz trzy wiersze:
- Liczbę słów
- Słowa bez otaczających je spacji, zapisane wielkimi literami i połączone za pomocą
>(spacja, znak większości, spacja) - Najdłuższe słowo bez spacji. Jeśli kilka słów ma tę samą długość, wypisz pierwsze z nich
Dla danych wejściowych red, green ,blue dane wyjściowe to:
3
RED > GREEN > BLUE
greenSpróbuj swoich sił
extends Node
func _ready():
var line := OS.read_string_from_stdin()
# Wypisz liczbę słów, połączone słowa i najdłuższe słowo
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online