https://doc.rust-lang.org/stable/book/
rustのbookを読んで思ったこと適当にメモ
https://doc.rust-lang.org/stable/book/getting-started.html
ローカルでドキュメントが読める?
$ rustup doc
簡単なコンパイル
$ rustc main.rs
rustのエントリポイントはmain()
fn main() {
}
語尾に!のマークが付くものはマクロ呼び出し
println!("hello world");
cargo というビルドシステムかつパッケージマネージャかつプロジェクトマネージャがある
srcディレクトリにソースファイル(main.rsなど)を置く
Cargo.toml というプロジェクトファイル(パッケージファイル)をプロジェクトのルートに置く
[package]
name = "hello_world"
version = "0.0.1"
authors = [ "hoge piyo <fuga@example.com>" ]
という感じに書けばよい
cargo でのビルド
$ cargo build
これはtargetディレクトリのdebugディレクトリにビルドしたものが配置される
cargo からのプログラムの実行
$ cargo run
ビルドしたものを実行する
ビルドされてなかったりソースが更新されてたりするとビルドしてから実行するらしい
Cargo.lock というファイルをcargoが生成するらしいが触れないほうがいいぽい
cargoを使って新規プロジェクト(実行型アプリ)を作る
$ cargo new hello_world --bin
これをするとテンプレートのファイル一式が用意されるらしい
Cargo.tomlやsrc/main.rsが作られるぽい
--binスイッチを指定しない場合はライブラリを作成するプロジェクトになるぽい
あと自動でgitリポジトリ化されるらしい(デフォルトの挙動を設定ファイルで変えられるぽい)