> 1 <

Автор Сообщение

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#225   2009-01-14 16:13 GMT+3 часа(ов)      
В пределах "ANSI Common Lisp" как узнать указывает "pathname" на Файл или Каталог ?

_lee

Members


Статус

69 сообщений

Где: Russia
Род занятий:
Возраст:

#233   2009-01-16 22:04 GMT+3 часа(ов)      
(pathname-name pathname)

возвратит NIL если указывает на каталог

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#234   2009-01-17 01:32 GMT+3 часа(ов)      
Спасибо.

А есть ли аналог (probe-file pathname) ?
т.е. что-то типа (probe-dir pathname) но не (ensure-directories-exist pathname) ? Не нужно создавать, просто проверить - есть ли он.

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#235   2009-01-17 02:30 GMT+3 часа(ов)      
Странно но CLISP и SBCL реагируют по разному.


CLISP
 
>(defvar pn (pathname "/usr/"))
>(probe-file pn)
*** - PROBE-FILE: No file name given: #P"/usr/"
 

SBCL
 
>(defvar pn (pathname "/usr/"))
>(probe-file pn)
 
#P"/usr/"
 



И кто из них прав ?

rawlik

Members


Статус

8 сообщений

Где: ---
Род занятий: rawlik
Возраст: 37

#236   2009-01-17 03:55 GMT+3 часа(ов)      
Получилось вот что:

(defun dir-exist (path-spec) 
(let ((pathn-obj (pathname path-spec)))
(unless (pathname-name pathn-obj)
(if (find pathn-obj (directory pathn-obj) :test #'equal) t nil) ) ) )


Но вот например
(dir-exist "/usr/")
T
(dir-exist "/usr")
nil

dmitry_vk

Members


Статус

33 сообщений
http://dmitry-vk.livejournal.com/
Где: Russia Казань
Род занятий:
Возраст: 30

#237   2009-01-17 14:38 GMT+3 часа(ов)      
Можно воспользоваться CL-FAD:
 
(fad:directory-exists-p "/usr/")
#P"/usr/"
(fad:directory-exists-p "/usr")
#P"/usr/"
 
> 1 <


Онлайн :

0 пользователь(ей), 14 гость(ей) :




Реклама на сайте: