Решено: получаване на вход на същия ред като въпроса

Последна актуализация: 09/13/2023
Автор: Rust SourceTrail

Rust език за програмиране е силно предпочитан заради своята производителност, безопасност на паметта и едновременност. Въпреки това, тъй като е език за системно програмиране, понякога може да е по-малко интуитивен за операции за начинаещи разработчици, които са по-достъпни на други езици на високо ниво, като например получаване на потребителски вход. Тази статия ще разгледа въпроса как да получите вход на същия ред като въпроса в Rust.

Получаването на информация от потребителите е важно при разработването на интерактивни програми или приложения. В Rust често използваме стандартния входен поток, Stdin, предоставен от модула std::io. Това обаче може да не постави въведеното от потребителя на същия ред като въпроса. Нека видим как можем да постигнем това.

използвайте std::io::{self, Write};
нека вход = String::new();
print!(“Въведете вашето име: “);
io::stdout().flush().unwrap();
io::stdin().read_line(&mut input).unwrap();
име на let: String = input.trim().to_string();
println!(“Здравей, {}”, име);

Разбивка на кода стъпка по стъпка

  • В първия ред импортираме необходимите модули от std::io. Модулът io осигурява функционалността на Rust за работа с различни видове вход и изход.
  • След това декларираме променлив низ, наречен вход. Това ще задържи потребителския вход.
  • Печатът! макросът се използва за показване на подкана за въвеждане без нов ред в края. Това е важно, за да може въведеното от потребителя да бъде на същия ред като въпроса.
  • Тъй като печат! функцията не изчиства автоматично буфера stdout, трябва ръчно да го изчистим с помощта на io::stdout().flush(). Това гарантира, че подканата за въвеждане се показва незабавно.
  • След това използваме функцията read_line от структурата Stdin и предаваме препратката към входа към нея. Тази функция чете въведеното от потребителя от конзолата и го добавя към нашата входна променлива. Ние също изрязваме входа, за да премахнем всички символи за нов ред в края, които могат да попречат на последващия код.
  • Накрая отпечатваме въведеното от потребителя.

Разбиране на структурата Stdin и функцията read_line

- Stdin структура представлява манипулатор на стандартния входен поток на процес. Тази структура се използва в нашия код за извличане на въведеното от потребителя. Тази структура идва с различни методи, които могат да се използват за манипулиране на входните данни.

Най-често използваният метод на Stdin struct в Rust е методът read_line. The read_line() методът в Rust попада под характеристиката Read. Характеристиката Read е основният API в Rust за четене на байтове. Той приема &mut String като параметър, където се съхранява входният низ.

Надяваме се, че вече сме демистифицирали получаването на информация на същия ред като въпрос в Rust. Следващият път, когато кодирате CLI в Rust, запомнете тези стъпки и кодирайте по удобен за потребителя начин.

Подобни публикации:

Оставете коментар