【问题标题】:Function Composition in ScalaScala 中的函数组合
【发布时间】:2017-02-16 09:10:07
【问题描述】:

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

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 的理解不够好,甚至无法理解这个问题。非常感谢您对问题的详细说明,感谢您的帮助!

【问题讨论】:

  • 您可能希望包含您遇到的错误的更多详细信息。

标签: scala


【解决方案1】:

仔细查看类型:您正在尝试将x(类型A)提供给函数g(接受B 并返回C)。我相信你可以从这里取走它。

【讨论】:

  • @stmfunk 如果您愿意,请随时将答案标记为正确。 ;-)
  • 没问题只需要等几分钟就可以了
猜你喜欢
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多