2022/09/24
はじめに
Rust の勉強を目的とし,Matrix クラスを作る.
それを通して得た知見を残す.
コード全体はこちら.
入門コース目次
- 入門 0 概要
- 入門 1 Struct とメソッド
- 入門 2 Unit Test
- 入門 3 演算子オーバーロードによるインデックスアクセス
- 入門 4 インスタンス生成用の自作マクロ
- 入門 5 module
- 入門 6 自作 Module を利用する
このページで作るもの
自分で作ったクラスを module にまとめる.
module について
Rust では,コードのまとまりを Module として管理する.
ディレクトリ内のファイルを読み込むために,mod.rs
に設定を書く.
コード全体 & 解説
mod
によってファイルをモジュールで利用できるようにする.同一ディレクトリに配置されていても記載されていないソースファイルは利用できない.
また,pub mod
とすることで,そのファイルや Module をそのまま外部から利用できる.
module そのものをパブリックにしたくない場合は,mod
とは別でpub use ...
とするとよい.
これは,利用時のパスをキレイにすることが出来る.
今回は,pub mod matrix
としてしまうと,use matrix::matrix::Matrix
としなければならなく,冗長になってしまうので,pub use matrix::Matrix
にした.pub use matrix::*;
にしても同じ目的が満たせる.
src/matrix/mod.rs
mod macros;
mod matrix;
mod matrix_tests;
mod index;
mod index_mut;
pub use matrix::Matrix;
おわりに
コードを Module としてまとめられるのは非常に便利ですね!