#std::io::stdin()
これはちょっと難しいので、Rustに慣れるまでは丸暗記で行くしかなさそうです。
使い方はこんな感じです。
fn main() {
println!("何か入力してください。"); // 入力を促す案内を表示する
let mut input = String::new(); // 入力した値を入れる変数
// これが入力を受け取るコード。
// 複雑。この3行にたくさんのロジックが詰め込まれています。
std::io::stdin()
.read_line(&mut input)
.expect("Failed to read line");
input = input.trim_end().to_owned(); // エンターキーで改行が末尾に入るので、改行をなくす
println!("入力したのは「{}」です", input); // 入力した文字列をそのまま表示する。
}
丸暗記と言いましたが、暗記するくらいなら関数にしてしまいましょう。
my_read_line()
関数を作ってみました。これなら簡単だし、見た目もすっきりしました。
fn main() {
let input = my_read_line("何か入力してください"); // この1行で入力の案内と入力の受け取りをする
println!("入力したのは「{}」です", input);
}
/// ユーザーの入力を受け取り、Stringを返す関数。
///
/// massage:入力を促すメッセージ
fn my_read_line(massage: &str) -> String {
println!("{}", massage);
let mut input = String::new();
std::io::stdin()
.read_line(&mut input)
.expect("Failed to read line");
input.trim_end().to_owned()
}