ys memos

Blog

Rust入門 Matrixクラス 0 概要


rust

2022/09/21


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

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

コード全体はこちら



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


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

$ cargo new matrix
$ cd matrix

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

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

src内各ファイルについて


Matrix module を利用するコード.

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


Matrix module の Visibility などを記述.

→  入門 5 module

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

→  入門 1 Struct とメソッド

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

→  入門 2 Unit Test

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

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

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

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

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

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


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

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


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

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

関連タグを探す