Перейти к основному содержимому

Добавление расширения файла (file.path.add_extension)

Объявление​

новый_путь, сообщение_об_ошибке = file.path.add_extension(путь, расширение)

Параметры​

  • путь
    Строка, базовый путь
  • расширение
    Строка, добавляемое расширение файла, обычно без начальной .

Возвращаемое значение​

  • новый_путь
    Строка или nil. При успехе возвращает строку пути с добавленным расширением, если добавить его нельзя — nil
  • сообщение_об_ошибке
    Строка, при недопустимой строке пути возвращается "Invalid path", при недопустимой строке расширения — "Invalid extension". Если расширение нельзя добавить, например из-за символа / в нём, функция может вернуть только nil без сообщения об ошибке

Описание​

Добавляет . и указанное расширение в конец пути. Если исходный путь уже содержит расширение, новое добавляется после него: например, добавление bak к file.txt даёт file.txt.bak
Передаваемое расширение может содержать начальную ., но функция её не удаляет: при передаче .txt добавляется ..txt
Функция только создаёт строку пути и не переименовывает реальные файлы или каталоги
Эта функция доступна только в версиях после 20250914

Пример​

local new_path = file.path.add_extension("/path/to/file", "txt") -- Возвращает "/path/to/file.txt"
local archive_path = file.path.add_extension("/path/to/file.tar", "gz") -- Возвращает "/path/to/file.tar.gz"
local backup_path = file.path.add_extension("/path/to/file.txt", "bak") -- Возвращает "/path/to/file.txt.bak"
local dotted_path = file.path.add_extension("/path/to/file", ".txt") -- Возвращает "/path/to/file..txt"