Scala中的函数组合

时间:2016-10-07 11:24:01

标签: scala

我正在尝试编写一个带有两个函数并组成它们的函数。我尝试了下面的解决方案和其他一些变体,但没有太大的成功。

def compose1[A, B, C](f: A => B, g: B => C)(x: A) = f(g(x))

我得到的错误是

<console>:21: error: type mismatch;
 found   : x.type (with underlying type A)
 required: B
       def compose1[A, B, C](f: A => B, g: B => C)(x: A) = f(g(x))
                                                               ^

完全披露这是大学练习的一部分,旨在教我们Scala,虽然它不是为了学分。这个问题实际上是措辞不好(它实际上是函数声明和我上面使用的句子)并且没有事先给出的例子或解释,我想我对Scala的理解还不够理解题。非常感谢对这个问题的一些阐述,感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

仔细查看类型:您尝试将x(类型A)提供给函数g(它需要B并返回{{1 }})。我确定你可以从这里拿起它。