1.12 使用文件和目录: "dir.rkt"
(require htdp/dir) | package: htdp-lib |
本教学包提供处理文件和目录的结构体和函数:
struct
(struct dir (name dirs files) #:extra-constructor-name make-dir) name : (or/c string? symbol?) dirs : (listof dir?) files : (listof file?)
表示教学语言中的目录(文件夹)。
struct
(struct file (name size date content) #:extra-constructor-name make-file) name : (or/c string? symbol?) size : integer? date : (or/c 0 date?) content : any/c
函数
(create-dir path) → dir?
path : string?
将计算机path路径上找到的目录转换为dir实例。
struct
(struct date (year month day hours minutes seconds) #:extra-constructor-name make-date) year : natural-number/c month : natural-number/c day : natural-number/c hours : natural-number/c minutes : natural-number/c seconds : natural-number/c
表示(用于文件的)日期。
> (create-dir ".") (make-dir "." '() (cons (make-file "arrow.scrbl" 1897 (make-date 15 1 15 11 22 21) "") (cons (make-file "convert.scrbl" 2071 (make-date 15 1 15 11 22 21) "") (cons (make-file "dir.scrbl" 1587 (make-date 8 7 8 9 23 52) "") (cons (make-file "docs.scrbl" 1259 (make-date 15 1 15 11 22 21) "") (cons (make-file "draw.scrbl" 5220 (make-date 15 1 15 11 22 21) "") (cons (make-file "elevator.scrbl" 1110 (make-date 15 1 15 11 22 21) ""))))))))
"."通常表示程序所在的目录。在这个例子中,目录中包含六个文件、不包含子目录。
注意 本库生成字符串形式的文件名,但为了向后兼容,构造函数也接受符号(形式的文件名)。
注意 软链接始终被视为空文件。
修改于package htdp-lib的1.0版本:建于1996年,用于HtDP/1e
修改于1.4版本:Fri Jul 8 13:09:13 EDT 2016
在文件表示中添加可选的date字段,增加字符串作为文件名的表示