- Версия MoonLoader
- .026-beta
Столкнулся с проблемой замены строк, в которых есть спец.символы, когда делал простой каталог.
Возможно ли игнорировать спец.символы в строке?
Функция получения файлов и папок:
На видео папки с символом '-' не хотят закрываться
Возможно ли игнорировать спец.символы в строке?
Lua:
for _, v in pairs(getdir(dir)) do
if imgui.Selectable((v[2] == 'file' and getIcon(v[1]) or fa.ICON_FA_FOLDER)..' '..u8(v[1]), false) then
if v[2] == 'directory' then
if v[1] == '...' and dir:match('^.+\\(.*)$') then
dir = dir:gsub('\\'..dir:match('^.+\\(.*)$'), '') -- Не хочет заменять папки с спец.символами, но проверка выше срабатывает
elseif v[1] ~= '...' then
dir = dir..'\\'..v[1]
end
end
end
end
Lua:
function getdir(dir)
local t = {}
table.insert(t, {'...', 'directory'})
for entry in lfs.dir(dir) do
if entry ~= "." and entry ~= ".." then
local path = dir.."/"..entry
local attr = lfs.attributes(path)
if attr ~= nil then table.insert(t, {entry, attr.mode}) end
end
end
table.sort(t, function(a, b)
if a[2] == 'directory' and b[2] ~= 'directory' then return true
elseif a[2] ~= 'directory' and b[2] == 'directory' then return false end
return a[1] < b[1]
end)
return t
end
На видео папки с символом '-' не хотят закрываться