тут не так, почему оно не работает как надо?
идея: что-то типо командной строки
код:
'''
use std::io;
fn main() {
let mut command = String::new();
while true {
print!("tB\\>");
io::stdin().read_line(&mut command);
print!("{}", command.trim());
command.clear();
};
}
'''
println! Вместо print!
идёт всё вот так: tB\> рудз рудз tB\> help help tB\> help help tB\> а мне нужно так: terminal>cargo run
print!("terminal>"); std::io::stdout().flush();
use std::io::Write;
неа: tB\> j j tB\> j j tB\> j j tB\>
значит очистка буфера должна происходить перед принтом
а как? не подскажешь?
flush наверх поставь
вторую строчку первой
неа: tB\> ж ж tB\> д д tB\> д д tB\> а а tB\> п п tB\> п п tB\> п п tB\>
о да: j tB\>jj tB\>jjk tB\>jk
о нет: рлд tB\>рлдкппр tB\>кппролд tB\>олд
что тут происходит
здравствуйте, я новичёк в rust и не могу понять, что тут не так, почему оно не работает как надо? идея: что-то типо командной строки код: ''' use std::io; fn main() { let mut command = String::new(); while true { print!("tB\\>"); io::stdin().read_line(&mut command); print!("{}", command.trim()); command.clear(); }; } '''
fn main() { let mut command = String::new(); while true { io::stdout().flush(); println!("tB\\>"); io::stdin().read_line(&mut command); println!("{}", command.trim()); command.clear(); }; }
в текущей версии он вообще не нужен
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0429c433379a34d9ec21535a99cc779a
кажется, оно компилируется, если добавить use std::io::{self, Write}; что тебя не устраивает?
л tB\>л р tB\>р
то что мне надо сделать что-то типа командной строки и должно быть так: tB\>HELP И с помощью println выводит переменную
то есть ты ожидаешь, что после промпта не будет переноса строки тогда зачем ты используешь println?
Обсуждают сегодня