【发布时间】:2012-03-02 19:43:33
【问题描述】:
我想在 Scala 中使用它的模式匹配来创建一个符号微分函数,就像在 SICP 中所做的那样。我希望能够写出这样的东西:
differentiate(exp) = exp match
{
case + =>
case * =>
}
这在 Scala 中的“本机”表达式上是否可行?
【问题讨论】:
-
你的意思是
def differentiate (exp: T) = ...? exp是什么类型的?一个字符串?一个函数?两者都不适合仅使用“+”或“*”。 -
也许这是您提出问题的灵感来源,但如果您还没有看到,请参阅 Scala 编程 (artima.com/pins1ed/case-classes-and-pattern-matching.html) 的模式匹配章节中的扩展示例
-
@LuigiPlinge 确实有人建议我,但我想看看我是否需要自己制作这棵树。
标签: scala math sicp symbolic-math