Difference between revisions of "love.filesystem.remove (日本語)"

(Created page with "ファイルまたは空のディレクトリを削除します。 == 関数 == === 概要 === <source lang="lua"> success = love.filesystem.remove( name ) </source> === 引...")
 
(用例)
Line 20: Line 20:
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
     local dir = 'a';
+
     local dir = 'a'
 
     for _ = 1, 10 do
 
     for _ = 1, 10 do
         dir = dir .. '/a';
+
         dir = dir .. '/a'
 
     end
 
     end
     love.filesystem.createDirectory(dir);
+
     love.filesystem.createDirectory( dir )
 
end
 
end
  
 
function love.quit()
 
function love.quit()
     local function recursivelyDelete(item, depth)
+
     local function recursivelyDelete( item )
         if love.filesystem.isDirectory(item) then
+
         if love.filesystem.getInfo( item , "directory" ) then
             for _, child in pairs(love.filesystem.getDirectoryItems(item)) do
+
             for _, child in pairs( love.filesystem.getDirectoryItems( item )) do
                 recursivelyDelete(item .. '/' .. child, depth + 1);
+
                 recursivelyDelete( item .. '/' .. child )
                 love.filesystem.remove(item .. '/' .. child);
+
                 love.filesystem.remove( item .. '/' .. child )
 
             end
 
             end
         elseif love.filesystem.isFile(item) then
+
         elseif love.filesystem.getInfo( item ) then
             love.filesystem.remove(item);
+
             love.filesystem.remove( item )
 
         end
 
         end
         love.filesystem.remove(item)
+
         love.filesystem.remove( item )
 
     end
 
     end
 
+
     recursivelyDelete( 'a' )
     recursivelyDelete('a', 0);
 
 
end
 
end
 
</source>
 
</source>
 +
 
== 関連 ==
 
== 関連 ==
 
* [[parent::love.filesystem (日本語)]]
 
* [[parent::love.filesystem (日本語)]]

Revision as of 06:51, 18 June 2019

ファイルまたは空のディレクトリを削除します。

関数

概要

success = love.filesystem.remove( name )

引数

string name
削除したいファイルまたはディレクトリ。

返値

boolean success
true ならばファイル、ディレクトリは削除されており、それ以外は false です。

注釈

ディレクトリは削除前に必ず空にしなければ削除は失敗します。要するに事前にディレクトリ内の全てのファイルとディレクトリを削除してください。

ファイルがセーブ・ディレクトリではなく .love に存在するならば、同様に false を返します。

ファイルを開いているとファイルの削除を妨げる原因となります。削除するにはファイルを閉じてください。

用例

セーブ・フォルダー内にフォルダ群を作成して、なにかファイルがあるかもしれないがゲーム終了時に、それらを削除します。

function love.load()
    local dir = 'a'
    for _ = 1, 10 do
        dir = dir .. '/a'
    end
    love.filesystem.createDirectory( dir )
end

function love.quit()
    local function recursivelyDelete( item )
        if love.filesystem.getInfo( item , "directory" ) then
            for _, child in pairs( love.filesystem.getDirectoryItems( item )) do
                recursivelyDelete( item .. '/' .. child )
                love.filesystem.remove( item .. '/' .. child )
            end
        elseif love.filesystem.getInfo( item ) then
            love.filesystem.remove( item )
        end
        love.filesystem.remove( item )
    end
    recursivelyDelete( 'a' )
end

関連


そのほかの言語