ys memos
Blog

Rust入門 Matrixクラス 0 概要


rust

2022/09/21

はじめに

Rust の勉強を目的とし,Matrix クラスを作る.

それを通して得た知見を残す.

コード全体はこちら

入門コース目次

作るもの

行列を扱うことをイメージした簡単なクラス(Struct)を作る.

全体で学べる項目

  • Struct
  • Generics
  • Move
  • macro (2次元ベクタ)
  • 演算子オーバーロード(インデックスアクセス)
  • ユニットテスト
  • Zip によるイテレート

プロジェクト作成

$ cargo new matrix
$ cd matrix

module の全体像

ここでのソースファイルは全てsrc内に配置.

src/
├── main.rs
└── matrix
    ├── index_mut.rs
    ├── index.rs
    ├── macros.rs
    ├── matrix.rs
    ├── matrix_tests.rs
    └── mod.rs

各ファイル

src内各ファイルについて

main.rs

Matrix module を利用するコード.

→  入門 6 自作 Module を利用する

matrix

mod.rs

Matrix module の Visibility などを記述.

→  入門 5 module

matrix.rs

Matrix module の Struct の定義やロジックを記述.

→  入門 1 Struct とメソッド

matrix_tests.rs

Matrix struct のテストを記述.src/matrix/matrix.rsの下に一緒に書いてもよいが,ファイルが長くなりすぎたので分割してみた.

→  入門 2 Unit Test

macros.rs

Matrix インスタンスを作成するためのマクロを記述.

→  入門 4 インスタンス生成用の自作マクロ

index.rs

Matrix インスタンスの値にインデックスアクセスするための演算子オーバーロード.

→  入門 3 演算子オーバーロードによるインデックスアクセス

index_mut.rs

Matrix インスタンスの要素をインデックス指定で変更するための演算子オーバーロード.

→  入門 3 演算子オーバーロードによるインデックスアクセス

おわりに

まずは簡単なクラスを自分で作ってみると,かなり勉強になりますね!

マクロはもっと様々な使い方ができそうなので,もっと勉強したい点.

参考

各項目を書くための調べた内容はそれぞれ記述するとして,全体を通して参考にさせてもらったのは以下です.

-「プログラミング  Rust」 - オライリー・ジャパン

関連タグを探す