我试图从一个使用 do 表示法的函数返回一个 Maybe 值,但我似乎无法让它工作。这个函数需要一个字符串(“文件名”)和一个要搜索的路径...
findIn :: String -> Path -> Maybe Path
findIn search start = do
file <- ls start
if ((filename file) == search)
then Just file
else Nothing
在哪里...
ls :: Path -> Array Path
filename :: Path -> String
但是我不断收到错误“Count not match Type Array with type Maybe”,所以看起来编译器期望 do 表示法返回一个数组。我将如何返回一个可能的值?