0

这是一个工作片段:

import Turtle
...
groom :: FilePath -> IO ()
groom src = do
  view (ls src)
...

我可以在控制台上看到路径列表。其实我想有类似[FilePath]使用的东西,例如:

treeCount :: FilePath -> Int
treeCount src = length (lstree src)

自然,它不会编译,lstree因为它是:

lstree :: FilePath -> Shell FilePath

处理这Shell件事的正确方法是什么?这是一个新手问题,对不起。

4

1 回答 1

1

我实际上并没有尝试过,但只是查看以下类型签名可能会起作用:

import qualified Control.Foldl as F

treeCount :: FilePath -> IO Int
treeCount src = fold (lstree src) F.length

折叠F.list得到[FilePath]

于 2017-12-10T18:47:03.510 回答