Haskell 约定 : Maybe or empty list?

标签 haskell

任何Haskell专家可以为我澄清一些事情:

给出一个函数的简化示例match它应该从列表中返回匹配的值,这是使用 Maybe 的“更好”函数定义或返回 [] (一个空列表)?

那是:

match :: String -> [String] -> Maybe String

或者
match :: String -> [String] -> [String]     {- possibly empty, if no match -}

出于清晰的原因,我更喜欢第一个版本,但我很想知道这种事情是否有约定。

最佳答案

如果它只能返回零个或一个匹配项,则使用 Maybe (因为这就是它的意思);如果可以返回任意数量的匹配项,则使用 [] (因为这就是它的意思)。

关于Haskell 约定 : Maybe or empty list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5445559/

相关文章:

haskell - 如何在 Haskell 中将包含字符串类型的单个字符转换为 Char?

haskell - Haskell 中可折叠的实现

list - Haskell - 家庭作业 - 连接两个列表

haskell - 链接到 Yesod 中没有 Haskell 标识符的静态文件

haskell - 如何使用列表理解创建多个/不同的自定义类型?

python - 无法将简单的python代码转换为haskell

haskell - Linter 说多余的 lambda,但是当按照建议替换时它会给出不同的错误

haskell - Haskell 中的索引仿函数到底是什么,它的用途是什么?

c - 无法使用 OpenGL 3.3 上下文 macOS 创建窗口,并且通过 brew 安装了 GLFW

list - 如何修改嵌套自定义数据类型中的列表值?