【发布时间】:2013-05-30 17:45:06
【问题描述】:
我正在学习 Haskell 中的模式匹配,我发现了一些据说对模式匹配有好处的练习。
有没有人可以提供一些关于如何编写一个返回表达式中加法运算次数的函数的信息?
我看了一点,但找不到任何有关它的信息。实际上我怎样才能返回 Haskell 中的操作数?
另一个我不明白的练习是编写一个返回表达式中常量数量的函数。我不明白它们对常量数量的含义。可能在表达式中使用了变量?
编辑:
我忘了添加表达式的定义。我发现与此相关的是:
示例(表达式树)
data Expression = Constant Integer
| Negate Expression
| Add Expression Expression
| Multiply Expression Expression
deriving Show
示例(计算表达式)
eval e = case e of
Constant c -> c
Negate e -> -(eval e)
Add e1 e2 -> (eval e1) + (eval e2)
Multiply e1 e2 -> (eval e1) * (eval e2)
谢谢。
【问题讨论】:
-
表达式是什么形式的?你能链接到练习吗?
-
抱歉忘记添加了。已编辑但仍无法理解。
标签: haskell functional-programming pattern-matching