Pass one function to handle scanned file
Posted: Fri Apr 11, 2014 6:40 pm
Hi, I have one function from wiki to iterate folder tree recursively, It works fine. Then I want to modify it to accept a function as argument to handle the scanned file, I try function and macro, but failed. Below is my function version:
I got error message:
Code: Select all
(define (recursive-access-dir dir-path file-op)
(println dir-path)
(dolist (nde (directory dir-path {^[^.]}))
(if (directory? (append dir-path nde))
(recursive-access-dir (append dir-path nde "/"))
(begin
(println nde)
(eval (list file-op nde)))))
)
(recursive-access-dir "/home/dean/work/gitlab_cloud/newlisp/cppwizard/console/" println)
(exit)
Code: Select all
./test.lsp
newlisp armory home folder: /home/dean/github/newlisp_armory
/home/dean/work/gitlab_cloud/newlisp/cppwizard/console/
/home/dean/work/gitlab_cloud/newlisp/cppwizard/console/builder/
profile
ERR: invalid function : (nil "profile")
called from user defined function recursive-access-dir
called from user defined function recursive-access-dir