Проверка существования папки из Lua
В стандартной библиотеке io нет функции, проверяющей существование каталога. А мне понадобилась. Немного подумав, интереса ради решил поэкспериментировать. Получился бантик, позволивший обойтись без С++ и внешних библиотек.
Переименовываем папку саму в себя и смотрим результат:
-- Проверка существования папки
-- Возвращает
-- true/false результат выполнения
-- строка диагностики или nil в случае успеха
-- имя папки в случае ошибки
function directory_exists(directory)
return os.rename(directory,directory)
end
Что характерно. В стандартном руководстве на LUA указано, что os.rename() возвращает только 2 значения. Оказалось, что есть и третий - имя самого файла/папки, причем без буквы диска и двоеточия.
P.S. Нужно учитывать права доступа и открытые файлы внутри папки.
