Rustに慣れてなくて時間を溶かした。あまりできなかった。
今日も少しイメージが進んだ
- mod: ここを使うと、グローバルに定数を置かないで、名前空間下に定数がおける(とても嬉しい)よく考えたらこれは
std::u64::MAX
みたいなやつだな
mod vig {
pub const MAX_N = 1000;
}
fn main(){
println!("{}", vig::MAX_N);
}
- trait: 公式を見ると、型に対して関数を実装するのがimplで、その前にその関数の振る舞い(型シグネチャ)を定義できるのが嬉しいっぽい。でも嬉しさはシグネチャを理解しないと難しそう。
- impl: 自分で作った型に対して関数を実装するときに使う。
std::u64::MAX
について、ソースコードを見ると、型に対するマクロのようになっている。そこでu64を調べるとこれはimplであることが分かる。現時点ではimplではなくvig直下に定数を書いているけど、そのうちvig::N::MAX_N
みたいにしたい。- とりあえずデフォルトのprivateにしておいて、インターフェースとなる関数をpubにしてあげればきれいになることを学んだ。
- 進める。fibonacciに対する調査はまた今度。