0Pricing
Swift Academy · レッスン

文字と書記素クラスタ

1つのCharacterが複数のスカラーになる理由を確認します。

「文字と書記素クラスタ」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

Character型

Swiftでは、Character型は人が読める1つの文字を表します。Stringは、これらの文字のコレクションです。

let letter: Character = "A"
print(letter)
print(type(of: letter))

CharacterとStringの違い

二重引用符で囲んだリテラルは、デフォルトではStringです。型をCharacterとして注釈すると、1文字の値になります。

let s = "A"
let c: Character = "A"
print(type(of: s), type(of: c))

拡張書記素クラスタ

SwiftのCharacterは拡張書記素クラスタです。1つの目に見える文字として一緒に表示される、1つ以上のUnicodeスカラーで構成されます。

let e: Character = "e"
print(e)
print("A Character is one visible symbol")

結合文字

アクセント付きの文字は、基底文字と結合文字で構成されることがありますが、Swiftではその組み合わせを1つのCharacterとして扱います。

let combined: Character = "e\u{301}"
print(combined)
print("Displayed as one accented e")

1つの文字としての絵文字

多くの絵文字は1つの書記素クラスタであるため、内部では複数のバイトを使っていても、1つのCharacterとして数えられます。

let smiley: Character = "\u{1F600}"
print(smiley)

複雑な絵文字クラスタ

絵文字の中には、肌の色やゼロ幅接合子など複数のスカラーを1つの目に見える記号として組み合わせるものがあります。Swiftはこれを正しく1つのCharacterとして数えます。

let family = "\u{1F468}\u{200D}\u{1F469}\u{200D}\u{1F467}"
print("Count:", family.count)

文字を反復処理する

for-inを使って文字列をループし、各Characterを順番に処理できます。

for ch in "Hi!" {
    print(ch)
}

文字からStringを構築する

Character値の配列からStringを作成できます。

let chars: [Character] = ["S", "w", "i", "f", "t"]
let word = String(chars)
print(word)

文字を追加する

appendを使って、文字列の末尾にCharacterを追加します。

var greeting = "Hello"
greeting.append("!")
print(greeting)

文字を比較する

Character値は等しいかどうかを比較できるため、テキストの走査に役立ちます。

let target: Character = "x"
let found = "fox".contains { $0 == target }
print("Contains x:", found)

書記素クラスタが重要な理由

ユーザーが認識する文字を1つの単位として扱うことで、絵文字やアクセント付き文字であっても、文字列の長さやインデックスが実際の見た目と一致します。

let cafe = "caf\u{e9}"
print("Visible characters:", cafe.count)

クイックチェック

SwiftのCharacterが何を表すか思い出してください。

復習:文字と書記素クラスタ

Characterは、拡張書記素クラスタとして1つの目に見える文字を表すこと、結合文字や複雑な絵文字も1つのCharacterとして数えられること、そして文字を安全に反復処理、構築、比較できることを学びました。

let text = "ab\u{1F600}"
print("Characters:", text.count)
for ch in text { print(ch) }

よくある質問

「文字と書記素クラスタ」レッスンは無料ですか?

はい。「文字と書記素クラスタ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「文字と書記素クラスタ」で何を学びますか?

1つのCharacterが複数のスカラーになる理由を確認します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「文字と書記素クラスタ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字と書記素クラスタ
  2. Unicodeスカラーとコードポイント
  3. 文字のカウントと反復処理
  4. エンコーディングビュー:utf8、utf16、unicodeScalars
← Swift Academyに戻る