8章クレートとモジュール
これもRustのテーマの1つだ:システムプログラマにだって何かいいものがあっていいはずだ。
−Robert O'Callahan「Random Thoughts on Rust: crates.io and IDEs」†1
シダ植物の成長を、細胞レベルでシミュレートするプログラムを書くことを考えてみよう。プログラムは、ちょうどシダの胞子のように、最初はとても単純ですべてのコードを収めた1つのファイルからスタートするだろう。プログラムが成長するにつれ、内部に構造が生まれる。異なる目的を持つ複数の部分に分化し、複数のファイルに分かれることになる。さらにはディレクトリツリーを構成するようになる。時が経つと、ソフトウェアエコシステム全体の重要な部分になるかもしれない。ある程度の数のデータ構造を持つプログラムや100行を超えるようなプログラムであれば、何らかの構造化が必要だ。
本章はプログラムを構造化するためのRustの機能、クレートとモジュールについて説明する。また、Rustのクレートの構造化と配布に関するさまざまなトピックについても、シダ植物シミュレータを例にとって説明する。本章では、ドキュメントの書き方、テストする方法、不要なコンパイラ警告を抑制する方法、Cargoでプログラムの依存関係とバージョンを管理する方法、オープンソースライブラリをRustの公式クレートレポジトリであるcrates.io
で公開する方法、Rustの言語エディションによる進化などを説明する。
8.1 クレート
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.