17章文字列とテキスト
文字列は飾り気のないデータ構造で、あらゆるところでやり取りされ、処理には重複が多い。情報を隠すにはもってこいだ。
−Alan Perlis, epigram #34†1
[†1] 訳注:Alan Perlisは初期のコンピュータ言語の1つALGOLの作者の一人。第1回のチューリング賞を受賞している。このエピグラムは、1982年にSIGPLANジャーナルに発表した「プログラミングに関する警句集」の1つ。https://en.wikipedia.org/wiki/Epigrams_on_Programming参照。
これまでに、Rustの主要なテキストデータ型String
、str
、char
について説明してきた。「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.