Pular para o conteúdo principal

Adicionar uma extensão de arquivo (file.path.add_extension)

Declaração​

novo_caminho, mensagem_de_erro = file.path.add_extension(caminho, extensão)

Parâmetros​

  • caminho
    Texto; string do caminho base
  • extensão
    Texto; extensão de arquivo a adicionar, normalmente sem . inicial

Valores retornados​

  • novo_caminho
    Texto ou nil; retorna o caminho com a extensão adicionada em caso de sucesso, ou nil se não for possível adicioná-la
  • mensagem_de_erro
    Texto; retorna "Invalid path" se a string do caminho for inválida e "Invalid extension" se a string da extensão for inválida; se não for possível adicioná-la, por exemplo por conter /, pode retornar apenas nil sem mensagem de erro

Observações​

Adiciona . e a extensão indicada ao final do caminho; se já houver uma extensão, a nova será adicionada após a existente. Por exemplo, adicionar bak a file.txt resulta em file.txt.bak
A extensão pode conter um . inicial, mas a função não o remove; passar .txt adiciona ..txt
Esta função apenas gera uma string de caminho; não renomeia arquivos ou diretórios reais
Esta função está disponível somente em versões posteriores a 20250914

Exemplo​

local new_path = file.path.add_extension("/path/to/file", "txt") -- Retorna "/path/to/file.txt"
local archive_path = file.path.add_extension("/path/to/file.tar", "gz") -- Retorna "/path/to/file.tar.gz"
local backup_path = file.path.add_extension("/path/to/file.txt", "bak") -- Retorna "/path/to/file.txt.bak"
local dotted_path = file.path.add_extension("/path/to/file", ".txt") -- Retorna "/path/to/file..txt"