Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmInLp 231 of 373 menu
◀ ▶

Ввод данных в цикле в Rust

Чтобы задать пользователю один и тот же вопрос несколько раз, нужно читать ввод в цикле. Бесконечный цикл в Rust записывают словом loop. Пока из него не вышли, у пользователя будут запрашиваться данные.

Давайте разместим в блоке кода запрос на ввод числа:

use std::io; fn main() { loop { println!("enter number: "); let mut line = String::new(); let _ = io::stdin().read_line(&mut line); let tst = line.trim(); println!("{}", tst); } }

Однако созданный цикл будет повторять запрос бесконечно. Поэтому нужно задать дополнительное условие для выхода из него. Давайте укажем, чтобы цикл работал, пока введенное значение является числом. Числом здесь считаем строку из цифр. В противном случае цикл пусть остановится:

use std::io; fn main() { loop { println!("enter number: "); let mut line = String::new(); let _ = io::stdin().read_line(&mut line); let tst = line.trim(); let mut digits = !tst.is_empty(); for ch in tst.chars() { if ch < '0' || ch > '9' { digits = false; break; } } if digits { println!("{}", tst); } else { break; } } }

Спросите у пользователя его имя. Если количество символов имени более 6, пусть появится сообщение о том, что оно слишком длинное. При этом цикл должен остановиться.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить