🕌
[備忘録05]作って学ぶブラウザのしくみ / URLの構文解析の実装
URLの実装はurl.rsというファイルに実装することにする。
ライブラリクレートの作成
0章で作成したプロジェクトのディレクトリ直下で以下を実行して、新しいライブラリクレートを作成する。
クレートとは、rustでのコンパイル単位で以下の2種類が存在する
- バイナリクレート
- 実行可能ファイル
- ライブラリクレート
- 再利用可能なコードのコレクション。モジュール化したコードを他のプロクラムやクレートに提供できる。
cargo new saba_core --lib
上記のコマンドにより、src/lib.rsファイルが自動的に作成さいれる。このファイルに他のプログラムやクレートが使用できる関数や構造体を記述する。
cargo newコマンドを実行すると、自動的にworkspaceにメンバーが追加される。
workspace = {members = ["saba_core"]}
[package]
ワークスペースとは?
1つのディレクトにいかに複数の関連するRustプロジェクトをまとめて管理する機能。members = []にプロジェクトの名前を追加することで、ワークスペースにメンバーを追加できる。
Cargoはプロジェクトの依存関係を自動的にカイエkつし、さらにパークスペースの異なるメンバー間でライブラリを共有できる。
Discussion