1
我想使用歧視聯盟來表示文件和目錄。 然後給出一個目錄,我想列出其中的所有文件(遞歸)。這個F#代碼有什麼問題?
但在該行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
]
我希望雙方的解釋和解決方案。
TX,這可以解釋爲什麼打印此形成鮮明對比沒有問題,在這裏列出的理解。你能給我提供一個代碼示例嗎?我只是剛開始學習。 – Peter 2009-11-21 22:28:06