ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

rustで細かいプログラムを一つのディレクトリに入れる

なんかタイトル何ってるかわかりにくいです。

rustでプログラムを作るときは、cargo newコマンドを使います。ただ、ちょっとしたプログラムを作る度にcargo newするのも面倒ですよね。ディレクトリもどんどん増えますし。本で勉強していて、練習問題がでてきたとき、問題一つ一つにディレクトリを作るよりは、chapter1みたいな形でまとめたい。

cargo newしたディレクトリで、複数のソースと実行環境をまぜる方法です。

まずは、cargo new します。

cargo new --bin chap1 

簡単に動作確認をします。

cd chap1
cargo run

これでhello worldが表示されます。

次にcargo newで作られたsrcの下にbinディレクトリを作ります。そこに例えばfirst.rsといったソースファイルを書きます。

fn main() {
    println!("Hello, world first!");
}

この状態で、cargo runにオプションを与えると、first.rsをコンパイルして実行します。

cargo run --bin first

こうすると自動で作られたmain.rsではなく、先ほど作ったfirst.rsがコンパイルされ実行されます。

以後、src/binの下にsecond.rs, third.rsを作り、cargo runのオプションでソース名を指定することで狙ったプログラムだけが動きます。

ちょっとしたプログラムを書くときは便利です。