標準入力から1行読み取る
標準入力を扱うにはstd::ioモジュールを使います。
use std::io;
fn main() {
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.expect("入力の読み取りに失敗しました");
let input = input.trim(); // 改行文字を取り除く
println!("入力された文字列: {}", input);
}
String::new()で空の文字列を作成します。read_lineは、読み取った内容を引数で渡した変数に書き込みます。そのため&mut inputのように、書き込み可能な参照を渡します(参照については第9章で詳しく学びます)。- 入力の末尾には改行文字が含まれるため、
.trim()で取り除きます。
文字列を数値に変換する(parse)
読み取った文字列を数値として扱うには、parse()を使います。
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).expect("読み取り失敗");
let n: i32 = input.trim().parse().expect("数値への変換に失敗しました");
println!("{}", n * 2);
}
parse()は、変換に失敗する可能性があるため、Resultという「成功(Ok)か失敗(Err)かを表す値」を返します。ここでは.expect("...")を使って、「失敗したら指定したメッセージとともにプログラムを終了する」という最も簡単な扱い方をしています。Resultをより丁寧に扱う方法(matchを使ったエラー処理など)は、Intermediateコースで学びます。
演習:2つの整数の和(標準入力の読み取り)
コード提出フォーム
RUST安全なサーバー側採点連携が未接続のため、現在は提出できません。
採点基盤準備中
公開テストケース
読み込み中…