我正在使用 CleanideClean3.0
编程语言。我要做的是实现一个函数,它接收系统中目录的名称,并返回该目录中所有文件的列表。
我不知道此类功能的定义是否需要类似File -> [string]
或其他内容,即使该目录是一个文件,也许这不是开发人员的Clean
意思...
非常感谢!
我正在使用 CleanideClean3.0
编程语言。我要做的是实现一个函数,它接收系统中目录的名称,并返回该目录中所有文件的列表。
我不知道此类功能的定义是否需要类似File -> [string]
或其他内容,即使该目录是一个文件,也许这不是开发人员的Clean
意思...
非常感谢!
此功能在 StdEnv 环境中不可用,但有两个库可以帮助解决此问题:
Directory库包含一个具有功能的模块DirectorygetDirectoryContents :: !Path !*env -> (!(!DirError, [DirEntry]), !*env) | FileSystem env
。
Platform库包含一个具有 function的模块System.DirectoryreadDirectory :: !FilePath !*w -> (!MaybeOSError [FilePath], !*w)
。
在这两种情况下,第一个参数是目录的路径,第二个参数是*World
,这是 Clean 执行不纯操作的典型方式(参见语言报告的第9 章)。
带目录:
import Directory
Start w
# (dir,w) = getDirectoryContents (RelativePath []) w
= dir
带平台:
import System.Directory
Start w
# (dir,w) = readDirectory "." w
= dir