gpt4 book ai didi

list - 方案中是否有 "list all files"程序?

转载 作者:行者123 更新时间:2023-12-04 01:19:27 25 4
gpt4 key购买 nike

是否有一个 Racket /方案程序返回所有用户可访问文件的名称列表(或向量)?
输出需要是用于应用“过滤器”的列表或向量,如下所示:(filter pred list-of-all-files)预期的应用程序是一个基于文本的、用户友好的“图书管理员”程序。

最佳答案

您要找的相关程序是directory-listin-directory .
使用 directory-list ,您可以检索某个路径指定的目录中所有文件和目录的列表(类似于 shell 命令 ls )。

;; ls /some/path
(directory-list "/some/path")
另一方面, in-directory返回产生 的序列全部 目录中文件、目录和链接的路径,递归遍历嵌套的子目录(这似乎是您主要寻找的内容)。
例如,返回 "/some/path"下所有用户可读文件和目录的名称。 , 你可以做:
(for/list ([f (in-directory "/some/path"
(lambda (p)
(member 'read (file-or-directory-permissions p))))])
f)
您可以使用 path->string以字符串格式生成文件名。因此,要创建您的 list-all-files程序:
(define (list-all-files path)
(define (user-readable? f)
(member 'read (file-or-directory-permissions f)))
(for/list ([f (in-directory path user-readable?)])
(path->string f)))
然后,您可以 filter使用任何谓词生成的列表 pred :
(filter pred (list-all-files "/some/path"))

关于list - 方案中是否有 "list all files"程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62822997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com