なんかタイトル何ってるかわかりにくいです。
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のオプションでソース名を指定することで狙ったプログラムだけが動きます。
ちょっとしたプログラムを書くときは便利です。