🕌

[備忘録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