hiro99ma blog

Something technical

rust: Rustがんばろう 7日目

2025/02/17

はじめに

Rust を勉強することにした。
7.1~7.3章くらい。

package / crate

パッケージはよく聞くがクレートは Rust で聞いたのが初めてだ。
木箱とか木枠とか、そんな言葉だ。 ツリー構造のモジュール群という”木”つながりでそうなったのかな?
“creat” で O_CREAT が由来した言葉では、と思っていたのだが綴りが違った。

super で下のモジュール内の関数から上のモジュールにある関数は pub が無くても呼び出せるようだ。
もし pub がないと呼び出せないのだったら何でもかんでも pub が付いて意味が無くなるということかな。
あくまで pub は外側から守るためのもの、ということと考えることにした。

mod abc {
    fn hello(label: &str, value: &i32) {
        super::hello(label, value);
    }

    pub mod def {
        pub fn hello(label: &str, value: &i32) {
            super::hello(label, value);
        }
    }
}

fn hello(label: &str, value: &i32) {
    println!("{}: {}", label, value);
}

fn main() {
    let m = 10;
    abc::def::hello("m", &m);
}

おわりに

テストコードを書くのに、引数の参照ってどうやるんだったっけ、とか、文字列はどうなんだっけ、とかいちいち調べ直していた。
まだまだ身についてないねー。


 < Top page


コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage