メインコンテンツまでスキップ

ファイル拡張子を追加 (file.path.add_extension)

宣言​

新しいパス, エラー情報 = file.path.add_extension(パス, 拡張子)

パラメータ​

  • パス
    文字列型。基準となるパス文字列
  • 拡張子
    文字列型。追加するファイル拡張子。通常、先頭の . は含めません

戻り値​

  • 新しいパス
    文字列型または nil。成功時は拡張子を追加したパス文字列を返し、追加できない場合は nil を返します
  • エラー情報
    文字列型。パス文字列が無効な場合は "Invalid path"、拡張子文字列が無効な場合は "Invalid extension" を返します。拡張子に / が含まれるなどの理由で追加できない場合、エラー情報なしで nil のみを返すことがあります

説明​

パスの末尾に . と指定した拡張子を追加します。元のパスに拡張子がある場合は、その後ろに新しい拡張子を追加します。例えば file.txt に bak を追加すると 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"