8. Хотелка на Parser 3.4.x или как сделать ^file:exist - которого нет
Newbie 18.08.2009 11:42
Задача: проверить физ.существование файла на диске.
Задача вроде проще простой - но соответствующего метода в Parser'e не нашел.
Первое ощущение что не хватает статического метода ^file:exist[dir/filename]
- Хотел сделать через статические методы типа ^file:basename и ^file:justname но обнаружил, что они не обращаются вообще к диску -
а работают просто со стрингом.
- ^file::load[] - не хочется - зачем загружать файл если просто хочется проверить его существование
- ^file:find[] - не хочется - зачем рыскать по всему диску если файла нет в текущей папке
- Парсить содержимое текущего каталога - тоже может оказаться затратно - если много файлов
- ^file::stat - тоже ругается если файла нет - (а зря кстати)
Вообщем единственный какой я навскидку нашел способ - это делать ^try{ от ^file::stat[] ...
P.S.: По наитию не хватает одного из вариантов:
^file::stat[filename] # создает объект даже если файла нет, но поле добавить поле $file.exist(True|False)
^file:exist[filename] # статический метод на запрос о существовании файла - самый имхо простой и нужный
- 8. Хотелка на Parser 3.4.x или как сделать ^file:exist - которого нет, Newbie 18.08.2009 11:42