d-examples/source/examples/shell/README.md

2.1 KiB
Raw Blame History

Запуск команд в shell

pipe

Функция pipeShell выполняет команду ping 8.8.8.8 -c 4, перенаправляет её стандартный вывод в программу, читает его построчно и выводит в консоль. Обрабатывает возможные ошибки с помощью блока try-catch. Использует модули std.process и std.stdio для работы с процессами и вывода.

spinner

Функция spinnerShell создаёт анимацию спиннера в консоли, используя брайлевские символы для имитации процесса обработки. Устанавливает обработчик сигнала Ctrl+C для корректного завершения с восстановлением курсора. Выполняет цикл с задержкой 100 мс, отображая вращающийся символ, и завершает выполнение с выводом "Done!". Использует модули std.stdio, core.thread, core.time и функции C для работы с сигналами и выводом.

ospinner

Функция oSpinnerShell демонстрирует объектно-ориентированный подход к созданию анимации спиннера в консоли. Использует абстрактный класс Command для выполнения задач с анимацией спиннера (брайлевские символы). Класс LongRunningCommand имитирует длительную задачу (5 секунд). Обработчик Ctrl+C завершает выполнение с восстановлением курсора. Анимация отображает имя команды и сообщение, завершаясь выводом "Done!". Использует модули std.stdio, core.thread, core.time, core.stdc.signal, core.stdc.stdio, core.stdc.stdlib.