[plt-scheme] for-each being skipped
On 7/13/05, Will Farr <wmfarr at gmail.com> wrote:
> Andrey,
>
> In your example, you're missing a parenthesis which would close the
> lambda expression:
>
> (define (func dir)
> (let ([list-of-dirs (filter directory-exists? (directory-list dir))]
> (for-each (lambda (val) (create-file-get-string val)) list-of-dirs)
> (create-file-get-string dir)))
>
> I don't know if that's really the problem (maybe you just keyed it in
> incorrectly).
Thanks a lot guys. The problem was that I was filtering using
directory-exists? on the valuesa returned by directory-list. I needed
to append those values onto my base path in order for this to work.
So my filter should have looked like this:
(filter (lambda (d) (directory-exists? (build-path dir d)))
(directory-list dir))
Also, I the example I provided was entered directly in my email (not
copy paste from source). Sorry about the parenthesis confusion, I'll
make sure not to leave any stray from now on.
-Andrey