Znaki i klastry grafemów
Poznanie, dlaczego jeden Character może składać się z kilku skalarów.
Znaki i klastry grafemów to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.
Typ Character
W języku Swift typ Character reprezentuje pojedynczy znak czytelny dla człowieka. String jest kolekcją takich znaków.
let letter: Character = "A"
print(letter)
print(type(of: letter))Character a String
Literał ujęty w podwójny cudzysłów jest domyślnie typu String. Aby uzyskać wartość pojedynczego znaku, należy oznaczyć typ jako Character.
let s = "A"
let c: Character = "A"
print(type(of: s), type(of: c))Rozszerzone klastry grafemów
Element Character w języku Swift jest rozszerzonym klastrem grafemów: jednym lub większą liczbą skalarów Unicode, które razem wyświetlają się jako pojedynczy widoczny znak.
let e: Character = "e"
print(e)
print("A Character is one visible symbol")Znaki łączące
Litera diakrytyczna może składać się z litery bazowej i znaku łączącego, a mimo to Swift nadal traktuje tę parę jako jeden element Character.
let combined: Character = "e\u{301}"
print(combined)
print("Displayed as one accented e")Emoji jako pojedynczy znak
Wiele emoji to pojedyncze klastry grafemów, dlatego są liczone jako jeden element Character, mimo że wewnętrznie zajmują wiele bajtów.
let smiley: Character = "\u{1F600}"
print(smiley)Złożone klastry emoji
Niektóre emoji łączą kilka skalarów, na przykład odcienie skóry i spójniki o zerowej szerokości, w jeden widoczny symbol, który Swift poprawnie liczy jako pojedynczy element Character.
let family = "\u{1F468}\u{200D}\u{1F469}\u{200D}\u{1F467}"
print("Count:", family.count)Iterowanie po znakach
Po ciągu znaków można iterować za pomocą for-in, odwiedzając kolejno każdy element Character.
for ch in "Hi!" {
print(ch)
}Tworzenie String z elementów Character
Można utworzyć String z tablicy wartości Character.
let chars: [Character] = ["S", "w", "i", "f", "t"]
let word = String(chars)
print(word)Dodawanie znaków
Użyj append, aby dodać element Character na końcu ciągu znaków.
var greeting = "Hello"
greeting.append("!")
print(greeting)Porównywanie znaków
Wartości Character można porównywać pod kątem równości, co przydaje się podczas skanowania tekstu.
let target: Character = "x"
let found = "fox".contains { $0 == target }
print("Contains x:", found)Dlaczego klastry grafemów mają znaczenie
Traktowanie znaków postrzeganych przez użytkownika jako pojedynczych jednostek sprawia, że długości ciągów znaków i indeksowanie odpowiadają temu, co rzeczywiście widzą użytkownicy, także w przypadku emoji i znaków diakrytycznych.
let cafe = "caf\u{e9}"
print("Visible characters:", cafe.count)Szybkie sprawdzenie
Przypomnij sobie, co reprezentuje element Character w języku Swift.
Podsumowanie: znaki i klastry grafemów
Dowiedzieli się Państwo, że Character modeluje pojedynczy widoczny znak jako rozszerzony klaster grafemów, że znaki łączące i złożone emoji nadal są liczone jako jeden element Character, a także że można niezawodnie iterować po znakach, tworzyć je i porównywać.
let text = "ab\u{1F600}"
print("Characters:", text.count)
for ch in text { print(ch) }Ucz się Swift dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 122
- Lekcje
- 409
Często zadawane pytania
Czy lekcja „Znaki i klastry grafemów” jest bezpłatna?
Tak — pełny tekst „Znaki i klastry grafemów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Znaki i klastry grafemów”?
Poznanie, dlaczego jeden Character może składać się z kilku skalarów. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Znaki i klastry grafemów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Znaki i klastry grafemów
- Skalary Unicode i punkty kodowe
- Zliczanie i iterowanie po znakach
- Widoki kodowania: utf8, utf16, unicodeScalars