Ввод целого в Rust
Целое читают в переменную типа i32.
Сначала вся строка попадает в изменяемый
текст. Перед чтением на экран выводят просьбу:
use std::io;
fn main() {
println!("enter number: ");
let mut line = String::new();
let _ = io::stdin().read_line(&mut line);
let line = line.trim();
let num = match line.parse::<i32>() {
Ok(n) => n,
Err(_) => 0,
};
println!("{}", num);
}
Если ввели 12, на экран снова
попадет 12. Строку объявляют через
let mut: read_line дописывает
байты в уже созданный текст. После чтения
то же имя объявляют снова. Новое значение -
срез без перевода строки и пробелов по краям.
Старая строка остается в памяти, новое имя
смотрит на ее текст.
Вызов возвращает, сколько байт прочитано,
либо сбой самого чтения. Здесь нужен текст,
поэтому этот ответ кладут в _.
Вся обрезанная строка должна быть одним
числом, без лишних слов. parse дает
два варианта. Ok несет число,
Err значит, что текст не число.
Разбор match называет оба. В этом
уроке неудача дает 0.
С прочитанным числом можно считать. Прибавим к нему единицу:
use std::io;
fn main() {
println!("enter number: ");
let mut line = String::new();
let _ = io::stdin().read_line(&mut line);
let line = line.trim();
let num = match line.parse::<i32>() {
Ok(n) => n,
Err(_) => 0,
};
println!("{}", num + 1);
}
Прочитайте целое и выведите его.
Прочитайте целое, прибавьте к нему
1 и выведите результат.
Дан следующий код:
let num1 = 10;
Прочитайте второе целое в num2.
Выведите сумму num1 и num2.