26 lines
670 B
Rust
26 lines
670 B
Rust
use std::error::Error;
|
|
use std::io::{self, BufRead, Write};
|
|
|
|
use unicode_segmentation::UnicodeSegmentation;
|
|
|
|
fn main() -> Result<(), Box<dyn Error>> {
|
|
let stdin = io::stdin();
|
|
let mut stdin = stdin.lock();
|
|
let mut stdout = io::BufWriter::new(io::stdout());
|
|
|
|
let mut line = String::new();
|
|
while stdin.read_line(&mut line)? > 0 {
|
|
let end = line
|
|
.grapheme_indices(true)
|
|
.map(|(start, g)| start + g.len())
|
|
.take(10)
|
|
.last()
|
|
.unwrap_or(line.len());
|
|
stdout.write_all(line[..end].trim_end().as_bytes())?;
|
|
stdout.write_all(b"\n")?;
|
|
|
|
line.clear();
|
|
}
|
|
Ok(())
|
|
}
|