【发布时间】:2011-01-14 14:37:35
【问题描述】:
什么是 Haskell 中的模式匹配,它与受保护的方程有什么关系?
我试图寻找一个简单的解释,但我没有找到。
编辑: 有人标记为作业。我不再上学了,我只是在学习 Haskell,我正在尝试理解这个概念。纯粹出于兴趣。
【问题讨论】:
-
或许也应该包含 F# 中的模式匹配概念……
-
大量语言都有模式匹配,不仅仅是 Haskell 和 F#。
-
这是纯函数和约束语言的共同特征。例如,Prolog、Erlang 和 SML。
-
@Tony:维基百科的文章看起来相当不错。模式匹配是 Haskell、Scala 等语言的基础。我认为了解语言对于理解模式匹配至关重要。我会继续学习 Haskell,而不用担心过早地找到模式匹配的定义。理解终将到来!
-
@Tony,我的意思是,任何对 Haskell 的介绍都会让您以“舒适”的方式熟悉模式匹配。如果不了解类型、绑定等,您将无法真正理解模式匹配,无论如何您都会一路学习。一旦您编写了一些对单个值进行操作的函数,然后您将“获得”元组和列表。它与 C# 非常不同。 FWIW,Scala 可能会引起您的兴趣,它是基于 OO 和 Java 的函数式编程混合体(让我们面对它与 .NET 非常相似!)。
标签: haskell functional-programming pattern-matching