1

我正在使用 CleanideClean3.0编程语言。我要做的是实现一个函数,它接收系统中目录的名称,并返回该目录中所有文件的列表。

我不知道此类功能的定义是否需要类似File -> [string]或其他内容,即使该目录是一个文件,也许这不是开发人员的Clean意思...

非常感谢!

4

1 回答 1

0

此功能在 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
于 2019-03-07T13:16:38.393 回答