usakdsteen

ゆうさくですてぃーん

ラスト(1)

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リポジトリ化されるらしい(デフォルトの挙動を設定ファイルで変えられるぽい)