d-examples/source/examples/shell
2025-05-16 01:35:01 +03:00
..
ospinner.d Добавлен новый модуль демонстрации объектно-ориентированного подхода к созданию анимации спиннера в консоли 2025-05-16 01:35:01 +03:00
package.d Добавлен новый модуль демонстрации объектно-ориентированного подхода к созданию анимации спиннера в консоли 2025-05-16 01:35:01 +03:00
pipe.d Инициализация 0.1.0 2025-05-15 17:52:07 +03:00
README.md Добавлен новый модуль демонстрации объектно-ориентированного подхода к созданию анимации спиннера в консоли 2025-05-16 01:35:01 +03:00
spinner.d Исправлен вывод, дополнен спиннер дополнительными символами 2025-05-16 01:28:59 +03:00

Запуск команд в 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.