Zig Academy · レッスン

文字列リテラルとエスケープ

テキストを安全に記述し、エスケープします。

レッスン 2/413 ステップ

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

二重引用符リテラル

文字列リテラルは二重引用符で囲んで記述します。Zig はそのバイトを読み取り専用メモリに格納し、そこを指す []const u8 スライスを提供します。

const msg = "Hello, Zig!";

エスケープシーケンス

リテラル内でバックスラッシュを使うと、エスケープシーケンスが始まります。これにより、通常は入力が難しい、または不可能な文字も含められます。

改行とタブ

基本的なものも同じです。\n は改行を、\t はタブを挿入します。文字列内では、それぞれ 10 と 9 という単一のバイトになります。

const line = "name:\tZig\n";

引用符をエスケープする

テキスト内に二重引用符を含めるには、\" でエスケープします。そうしないと、Zig はその引用符の位置で文字列が早く終わったと判断します。

const q = "She said \"hi\".";

バックスラッシュをエスケープする

バックスラッシュは特別な文字なので、リテラルの 1 つを記述するには \\ と書きます。バックスラッシュが多い Windows パスでは特に重要です。

const p = "C:\\dev\\zig";

16 進バイトエスケープ

\xNN を使うと、2 桁の 16 進数で指定した正確なバイトを埋め込めます。リテラル内に制御バイトやバイナリデータを含めるときに便利です。

const tab = "\x09"; // same as \t

Unicode エスケープ

中かっこ内に 16 進数を入れた \u{...} を使うと、任意のコードポイントを記述できます。Zig が適切な UTF-8 バイトに自動的にエンコードします。

const heart = "\u{2764}";

複数行文字列

長いテキストでは、各行を \\ で始めます。この複数行リテラルでは改行が保持され、引用符やバックスラッシュのエスケープも必要ありません。

const sql =
    \\SELECT *
    \\FROM users
;

末尾に改行はありません

複数行リテラルは最後の行の後に改行を追加しません。文字列の末尾にどのバイトを置くかを、完全に制御できます。

リテラルはコンパイル時に決まります

文字列リテラルはコンパイル時に分かっているため、プログラムの実行前に Zig が畳み込みとチェックを行えます。長さは定数です。

++ で連結する

++ 演算子を使うと、2 つのコンパイル時文字列を連結できます。結果は新しいリテラルになり、固定値としてコンパイル時に分かっています。

const full = "Hello, " ++ "Zig!";

確認問題

通常の二重引用符文字列内に、リテラルのバックスラッシュを 1 つ含める必要があります。

まとめ

\n、\"、\xNN、\u{...} のようなエスケープを使ってリテラルを作成し、\\ の複数行ブロックを使い、++ でテキストを連結できるようになりました。✨

無料で開始

AI チューターと学ぶ Zig — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「文字列リテラルとエスケープ」レッスンは無料ですか?

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

「文字列リテラルとエスケープ」で何を学びますか?

テキストを安全に記述し、エスケープします。 ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「文字列リテラルとエスケープ」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 文字列は[]const u8
  2. 文字列リテラルとエスケープ
  3. バイトを比較・検索する
  4. std.fmtでテキストをフォーマットする
← Zig Academyに戻る