Clean3.0获取目录内容

时间:2019-03-07 12:54:38

标签: clean-language

我正在将Cleanide用于Clean3.0编程语言。 我想做的是实现一个功能,该功能接收系统中目录的名称,并返回该目录中所有文件的列表。

我不知道这种功能的定义是否需要像File -> [string]还是其他东西,即使该目录是一个文件,也可能不是Clean的开发者的意思...

非常感谢!

1 个答案:

答案 0 :(得分:0)

此功能在StdEnv环境中不可用,但是有两个库可以帮助解决此问题:

  • Directory库包含具有功能getDirectoryContents :: !Path !*env -> (!(!DirError, [DirEntry]), !*env) | FileSystem env的模块Directory

  • Platform库包含具有功能readDirectory :: !FilePath !*w -> (!MaybeOSError [FilePath], !*w)的模块System.Directory

在两种情况下,第一个参数是目录的路径,第二个参数是*World,这是Clean执行不纯操作的典型方式(请参阅{{3}的chapter 9 }。

代码示例

使用目录:

import Directory

Start w
# (dir,w) = getDirectoryContents (RelativePath []) w
= dir

使用平台:

import System.Directory

Start w
# (dir,w) = readDirectory "." w
= dir