19 октября 2023 Rust
use std::io::{self, Write};
fn main() -> io::Result<()> {
for (idx, line) in std::io::stdin().lines().enumerate() {
match line {
Ok(_line) => {
let _cnt = _line.len();
let _line = format!("{idx:>5}:[{_cnt:>3}] -> {_line}\n");
let _ = io::stdout().write(_line.as_bytes());
},
Err(e) => println!("Error: {e}")
};
}
Ok(())
}
Здесь интересным может показаться разворачивание итератора line с помощью конструкции match, так как в line может быть Ok("строка") или Err("ошибка"), то для использования необходимо развернуть
А так же вместо println используется запись в stdout