2016-03-24 3 views
2

私はLuaFileSystemの参照を読みましたが、ファイルの親フォルダを取得する機能がないようです。また、Lua 5.1 Reference Manualの "file"または "dir"も検索しますが、io操作だけがあります。どうすればいいですか?ルアでファイルのフォルダを取得するには?

私が考えている醜い方法は、最後の '/'または '\'の後ろの文字列です。ちょうどC:\\data\\file.textC:\\dataのように。しかし、私はこれを行うためのよりよい方法があるべきだと思います。

答えて

3

パス/名前操作関数を持たないLuaFileSystemについては正しいですが、これは、 "基礎となるディレクトリ構造とファイル属性にアクセスする移植可能な方法を提供する"ライブラリです。

あなたが説明した方法でファイル名を削除することに間違いはありません。

0

仕事を行うことができますパターンを使用してこの機能:

path = "C:\\data\\file.text" 

local function getParentPath(_path) 
    pattern1 = "^(.+)//" 
    pattern2 = "^(.+)\\" 

    if (string.match(path,pattern1) == nil) then 
     return string.match(path,pattern2) 
    else 
     return string.match(path,pattern1) 
    end 
end 

print(getParentPath(path)) 
+0

http://stackoverflow.com/a/36205133/2239760 – tanzil

関連する問題