【发布时间】:2009-11-21 22:19:02
【问题描述】:
我想使用有区别的联合来表示文件和目录。 然后给定一个目录,我想列出其中的所有文件(递归)。
但是在List.iter makeFileList行内
我明白了:
类型不匹配。期待一个 FileOrDir -> 单元,但给定一个 FileOrDir -> 字符串列表。 “单位”类型不 匹配类型“字符串列表”
type FileOrDir =
| File of string
| Directory of string * FileOrDir list
let example = Directory("Directory1",[File("file1.txt"); File("file2.txt"); Directory("EmptyDir",[])])
let rec makeFileList fad =
[
match fad with
| File(name) -> yield name
| Directory(name,listOfFiles)
-> listOfFiles |> List.iter makeFileList
]
我将不胜感激解释和解决方案。
【问题讨论】:
标签: f#