Rust② 数字当てゲーム1
main.js
use std::io; fn main() { println!("Guess the number!"); println!("Please input your guess."); let mut guess = String::new(); io::stdin().read_line(&mut guess) .expect("Failed to read line"); println!("You guessed: {}", guess); }
let は変数を宣言する。mutはmutableの意味で変数の値を変更できる。
//はコメント(日本語はコンパイル失敗する可能性がある)
let mut bar = 5; // mutable
文字列型のオブジェクトを作成
String::new();
「::」はnewがString型の関連関数であることを表している。 関連関数とは、String型の特定のオブジェクトよりも型(この場合はString)に対して 実装された関数のことであり、静的(スタティック)メソッドと呼ばれる言語もある。
簡単に言えば、「空のString型のオブジェクトを生成する」という意味。
io::stdin().read_line(&mut guess) .expect("Failed to read line");
io::stdin()はユーザーの入力を受け付ける(use std::io;が必要)
read_line(&mut guess) read_lineメソッドは、ユーザが標準入力したものすべてを取り出し、文字列に格納することなので、 格納する文字列を引数として取る。 引数は可変である必要があるため、guessではなく&mutをつける。
読み込みに失敗したらexpectが呼び出される。
{}の使い方
let x = 5; let y = 10; println!("x = {} and y = {}", x, y); =>x = 5 and y = 10