Walk a directory/Recursively: Difference between revisions

Content added Content deleted
(→‎{{header|C}}: added C++)
(add CL)
Line 138: Line 138:
return 0;
return 0;
}</lang>
}</lang>

=={{header|Common Lisp}}==

{{libheader|CL-FAD}}

This example uses the <code>CL-FAD</code> library to achieve compatibility where the ANSI CL standard leaves ambiguities about pathnames.

<lang lisp>(defun mapc-directory-tree (fn directory)
(dolist (entry (cl-fad:list-directory directory))
(when (cl-fad:directory-pathname-p entry)
(mapc-directory-tree fn entry))
(funcall fn entry)))</lang>

<lang lisp>CL-USER> (mapc-directory-tree (lambda (x)
(when (equal (pathname-type x) "lisp")
(write-line (namestring x))))
"lang/lisp")
/home/sthalik/lang/lisp/.#bitmap.lisp
/home/sthalik/lang/lisp/avg.lisp
/home/sthalik/lang/lisp/bitmap.lisp
/home/sthalik/lang/lisp/box-muller.lisp
/home/sthalik/lang/lisp/displaced-subseq.lisp
[...]</lang>


=={{header|C++}}==
=={{header|C++}}==