Как сделать эффект печатной машинки в ржавчине

Итак, я пытаюсь изучить основы ржавчины; и я подумал, что хорошим способом сделать это может быть преобразование моей старой программы 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 только около часа назад.

удаление тега python, так как это задает вопрос о ржавчине с использованием эквивалентного кода python, добавьте его обратно, если вы чувствуете, что это неправильно

python_user 17.05.2022 09:30
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?, иначе это должно быть довольно прямолинейно.
Netwave 17.05.2022 09:31
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
2
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Простой и понятный перевод:

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");
}

Вы можете проверить, как это работает, из других ответов:

Большое спасибо, это именно то, что я имел в виду!

Xanthus 17.05.2022 09:52

Другие вопросы по теме