パス区切り文字としてバックスラッシュを使用してWindowsの永遠の問題に悩まされています。私はWindowsのパスをUNIXのパスに変換するLua関数が必要です。WindowsパスをUnixパスに変換するLua関数
変数にパスを割り当てるには、バックスラッシュをエスケープするなどしてください。
ファイル名= "P:\\ユーザー\\スクリプト\\ config.lua"
私は、これは、例えば異なる文字列の区切り文字を使用して行うことができます知っています
名= [P:\ユーザー\スクリプト\ config.lua]
Iは、単一のバックスラッシュを除去し、またはエスケープシーケンスとして解釈されるかので、私はstring.gsubを使用しないことを知って、 gsubに渡される前に。
Windowsを使用すると、ファイル名に変数を割り当てるときに文字列に単一のバックスラッシュが含まれているなど、問題があります。
filename = arg[0]
filename = debug.getinfo(2, "S").source:sub(2)
この文字列をスラッシュ付きのUNIXスタイルの文字列に変換するにはどうすればよいですか?私にとって
function unixpath(filename)
if filename~=nil then
else
return nil
end
end
print(unixpath(arg[0]))
print(unixpath(debug.getinfo(2, "S").source:sub(2)))
print(unixpath([[P:\user\scripts\config.lua]]))
'io.open([[E:/ TEMP /テストは]])'のLua 5.1とWXP上で動作します - あなたが変換する必要があり、なぜ? Unixはドライブを持っていませんP – FareakyGnome