17章文字列とテキスト

文字列は飾り気のないデータ構造で、あらゆるところでやり取りされ、処理には重複が多い。情報を隠すにはもってこいだ。

−Alan Perlis, epigram #34†1

[†1] 訳注:Alan Perlisは初期のコンピュータ言語の1つALGOLの作者の一人。第1回のチューリング賞を受賞している。このエピグラムは、1982年にSIGPLANジャーナルに発表した「プログラミングに関する警句集」の1つ。https://en.wikipedia.org/wiki/Epigrams_on_Programming参照。

これまでに、Rustの主要なテキストデータ型Stringstrcharについて説明してきた。「3.7 文字列型」では、文字と文字列リテラルの構文について説明し、メモリ上での表現についても解説した。本章では、テキストの取り扱いについてさらに詳しく説明する。

本章では、次の項目を取り上げる。

  • 標準ライブラリの設計を理解するために、Unicodeに関する背景知識を説明する。
  • char型について説明する。この型はUnicodeのコードポイント1つを表す。
  • String型とstr型について説明する。これらはそれぞれ、所有されたUnicode文字列と、借用されたUnicode文字列を表す。これらには、多様なメソッドが用意されており、構築、検索、変更、内容のイテレートを行うことができる。
  • Rustの文字列フォーマット機能について説明する。println!マクロやformat!マクロ等だ。フォーマット文字列を用いる独自のマクロを書いて、独自の型をサポートするように拡張することもできる。
  • Rustの正規表現サポートについて概説する。
  • 最後に、Unicodeの正規化がなぜ必要なのかを説明し、Rustで実現する方法を示す。 ...

Get プログラミングRust 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.