mirror of
https://github.com/LukasKalbertodt/programmieren-in-rust.git
synced 2024-11-18 10:58:57 +01:00
29 lines
517 B
Rust
29 lines
517 B
Rust
|
use std::str::FromStr;
|
||
|
use std::fmt::Display;
|
||
|
|
||
|
fn main() {
|
||
|
// let x = read::<usize>();
|
||
|
let x: usize = read();
|
||
|
println!("{}", x);
|
||
|
|
||
|
}
|
||
|
|
||
|
fn read<T>() -> T
|
||
|
where T: FromStr,
|
||
|
T::Err: Display
|
||
|
{
|
||
|
use std::io;
|
||
|
|
||
|
loop {
|
||
|
let mut s = String::new();
|
||
|
io::stdin()
|
||
|
.read_line(&mut s)
|
||
|
.expect("unexpected io error");
|
||
|
|
||
|
match s.trim_right().parse() {
|
||
|
Ok(value) => return value,
|
||
|
Err(e) => println!("error: {}", e),
|
||
|
}
|
||
|
}
|
||
|
}
|