1章型
本書の最初の章となる本章では、Rustの型システム周辺のアドバイスを扱う。Rustの型システムは他の主流言語の型システムよりも表現力が高く、OCaml(https://ocaml.org/)やHaskell(https://www.haskell.org/)などの「アカデミック」な言語のそれに近い。
その重要な要素の1つが、Rustのenum型だ。これは他の言語の列挙型よりもはるかに強力で代数データ型を実現する。
本章の各項目では、Rustの提供する基本型と、基本型を組み上げてプログラムの意味を詳細に表現するデータ構造を構成する方法について述べる。挙動を型システムで表現するという考え方によって、チェックと必要なエラー処理コードの量を減らすことができる。プログラムによって実行時に無効な状態を発見するのではなく、コンパイル時にツールチェーンを用いて無効な状態を拒絶できるからだ。
本章では、Rustの標準ライブラリで多用されるデータ構造Option、Result、Error、Iteratorについても説明する。これらの標準的なツールに慣れておくことで、効率的でコンパクトな、Rustらしいコードが書けるようになる。特に、これらのデータ構造を用いるとRustのクエスチョンマーク演算子「?」を使えるようになる。この演算子を使うと、型安全性を保ったまま、目立たないようにエラー処理ができる。
Rustのトレイトに関しては次章で説明するが、本章の項目でも一部説明している。これはトレイトによって型の挙動を記述するためだ。
項目1:データ構造を表現するために型システムを用いよう
プログラマはタイプライタ†1ではないと言ったのは誰だ。
@thingskatedid(https://oreil.ly/hHj5c ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access