著者:後藤 大地
今回も引き続き、プログラミング言語の「Rust」について解説する。前回も取り上げたが、Rustの学習は「The Rust Programming Language」(https://doc.rust-lang.org/book/)に沿って進めるのがよいと思う。The Rust Programming Languageではまず、「数当てゲーム」(Guessing Game、英訳としては「推測ゲーム」)のプログラムを開発する。これによって、Rustのプログラミングを一通り学べる。
シェルスクリプトマガジン Vol.64は以下のリンク先でご購入できます。
図3 自動生成されるRustプログラムのソースコードファイル「src/main.rs」
1 2 3 |
fn main() { println!("Hello, world!"); } |
図4 コンパイルに必要な構成情報や依存関係を記したファイル「Cargo.toml」
1 2 3 4 5 6 7 8 9 |
[package] name = "guessing_game" version = "0.1.0" authors = ["Daichi GOTO <daichigoto@example.com>"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] |
図6 ユーザーに対して入力を求め、その入力を受け付けて「あなたの予測値:」として入力値を表示するプログラム(main.rs)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
use std::io; fn main() { println!("数当てゲーム!"); println!("数を入力してください"); let mut guess = String::new(); io::stdin().read_line(&mut guess) .expect("読み込みに失敗しました"); println!("あなたの予測値: {}", guess); } |
図8 変数に値を2回代入するサンプルコード(src/main.rs)
1 2 3 4 5 6 7 |
fn main() { let v; v = 1; v = 2; } |
図10 mutを指定して値を変更できる変数と宣言したサンプルコード(src/main.rs)
1 2 3 4 5 6 7 |
fn main() { let mut v; v = 1; v = 2; } |
図12 read_line()関数の戻り値を表示させるコード
1 2 3 4 5 6 7 8 |
use std::io; fn main() { let mut s = String::new(); println!("戻り値: {}", io::stdin().read_line(&mut s).expect("エラー")); } |