13 lines
2.2 KiB
Markdown
13 lines
2.2 KiB
Markdown
# Общего назначения
|
||
|
||
## splittext
|
||
|
||
Функция `splitText` форматирует массив строк, разбивая их на строки длиной не более `length` (по умолчанию 50 символов). Преобразует входные строки в `dstring` (UTF-32), разбивает их на слова и обрабатывает каждое слово. Если слово длиннее `length`, оно разбивается на части. Сохраняет один пробел в начале строки, если она начинается с пробельного символа, и добавляет пробелы между словами. Пустые строки добавляются в результат без изменений. Возвращает массив отформатированных строк `dstring[]`. Использует модули `std.conv`, `std.string`, `std.uni`.
|
||
|
||
## isexists
|
||
|
||
Функция `isExecutableExists` проверяет наличие исполняемого файла `appName` в директориях, указанных в переменной окружения `PATH`. Разбивает `PATH` на директории, формирует полный путь к файлу и проверяет его существование и тип (файл). Возвращает `true`, если файл найден, иначе `false`. Использует модули `std.process`, `std.file`, `std.path`, `std.array`.
|
||
|
||
## variant
|
||
|
||
Функция `fVariant` демонстрирует использование типа `Variant` из модуля `std.variant` для работы с данными разных типов. Вспомогательная функция `getValue` возвращает `Variant`, содержащий `int` (42) при `arg=1`, `string` ("Hello, D!") при `arg=2` или `DList!int` ([1, 2, 3]) в остальных случаях. `fVariant` выводит тип и значение для каждого случая, преобразуя `DList!int` в массив для отображения. Использует модули `std.variant`, `std.container`, `std.stdio`, `std.array`.
|