тут не так, почему оно не работает как надо?
                  
                  
                  идея: что-то типо командной строки
                  
                  
                  код:
                  
                  
                  '''
                  
                  
                  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?
Обсуждают сегодня