in-directory: sort entries
Make `in-directory` more like `directory-list` by sorting directory content.
This commit is contained in:
parent
903afe2240
commit
cfb2a7aa32
|
@ -443,6 +443,10 @@ each element in the sequence.
|
|||
content of a directory, use the result of @racket[directory-list] as
|
||||
a sequence.
|
||||
|
||||
The immediate content of each directory is reported as sorted by
|
||||
@racket[path<?], and the content of a subdirectory is reported
|
||||
before subsequent paths within the directory.
|
||||
|
||||
@examples[
|
||||
(code:comment @#,t{Given a directory tree:})
|
||||
(code:comment @#,t{})
|
||||
|
@ -485,7 +489,8 @@ each element in the sequence.
|
|||
"/example/c"))])
|
||||
(printf "~a\n" p)))]
|
||||
|
||||
@history[#:changed "6.0.0.1" @elem{Added @racket[use-dir?] argument.}]}
|
||||
@history[#:changed "6.0.0.1" @elem{Added @racket[use-dir?] argument.}
|
||||
#:changed "6.6.0.4" @elem{Added guarantee of sorted results.}]}
|
||||
|
||||
|
||||
@defproc*[([(in-producer [producer procedure?])
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"letstx-scheme.rkt"
|
||||
"member.rkt"
|
||||
"reverse.rkt"
|
||||
"sort.rkt"
|
||||
'#%unsafe
|
||||
'#%flfxnum
|
||||
(for-syntax '#%kernel
|
||||
|
@ -2076,7 +2077,7 @@
|
|||
eof)]])))
|
||||
|
||||
(define (dir-list full-d d acc)
|
||||
(for/fold ([acc acc]) ([f (in-list (reverse (directory-list full-d)))])
|
||||
(for/fold ([acc acc]) ([f (in-list (reverse (sort (directory-list full-d) path<?)))])
|
||||
(cons (build-path d f) acc)))
|
||||
|
||||
(define (next-body l d init-dir use-dir?)
|
||||
|
|
Loading…
Reference in New Issue
Block a user