Итак, я пытаюсь изучить основы ржавчины; и я подумал, что хорошим способом сделать это может быть преобразование моей старой программы Python в ржавчину! Мне было интересно, есть ли способ получить эффект пишущей машинки. Так как он играет ключевую роль в программе.
Вот старый код Python
def scroll(str):
for letter in str:
sys.stdout.write(letter)
sys.stdout.flush()
time.sleep(0.075)
теперь позвольте мне сделать что-то вроде
time.sleep(.5)
scroll("But there's no sense crying over every mistake.\n")
scroll("You just keep on trying till you run out of cake.\n")
scroll("And the Science gets done.\n")
scroll("And you make a neat gun.\n")
scroll("For the people who are still alive.\n")
time.sleep(1)
По сути, замените команду печати ключевым словом «прокрутка». Я не ожидаю, что в ржавчине это будет так просто; но пока есть какой-то метод, который я могу использовать для медленной печати текста буква за буквой, я буду счастлив.
Я пытался искать в Интернете, но мало что могу найти в отношении этой конкретной вещи; Я смог заставить все остальные компоненты, которые мне нужны, работать с программой; от воспроизведения звука до очистки терминала.
Пожалуйста, будьте проще в объяснениях, так как я новичок в программировании в целом, но начал свое путешествие по Rust только около часа назад.
I've attempted searching online but there's not much that I can find in regards to this specific thing
, я думаю, вы должны проверить простые вещи, такие как: how to print a character?
, how to sleep?
, how to loop?
, иначе это должно быть довольно прямолинейно.
Простой и понятный перевод:
use std::io::Write;
fn scroll(s: &str) {
for c in s.chars() {
print!("{c}");
std::io::stdout().flush().expect("Flushing to succeed");
std::thread::sleep(std::time::Duration::from_millis(75));
}
}
fn main() {
scroll("But there's no sense crying over every mistake.\n");
scroll("You just keep on trying till you run out of cake.\n");
scroll("And the Science gets done.\n");
scroll("And you make a neat gun.\n");
scroll("For the people who are still alive.\n");
}
Вы можете проверить, как это работает, из других ответов:
Большое спасибо, это именно то, что я имел в виду!
удаление тега python, так как это задает вопрос о ржавчине с использованием эквивалентного кода python, добавьте его обратно, если вы чувствуете, что это неправильно