【发布时间】:2018-07-13 17:57:12
【问题描述】:
我正在尝试组合这两个函数:
// some case class that just holds data
case class DataMap( ... )
val action(i: Int)(data: DataMap): DataMap = { ... }
val tryFunction: DataMap => Try[DataMap] = Try.apply[DataMap]
val actionFunction: DataMap => DataMap = action(2)
tryFunction compose actionFunction
然后我得到这些错误:
Unapplied methods are only converted to functions when a function type is expected.
You can make this conversion explicit by writing `apply _` or `apply(_)` instead of `apply`.
val tryFunction = Try.apply[DataMap]
^
Unapplied methods are only converted to functions when a function type is expected.
You can make this conversion explicit by writing `action _` or `action(_)` instead of `action`.
val actionFunction = action(1)
^
谁能解释为什么会出现这个错误,以及如何避免它?
【问题讨论】:
-
试试
... = Try.apply[DataMap](_)或... = Try.apply(_: DataMap)。 -
酷,它现在似乎可以工作,但你能解释一下这个错误是如何产生的吗?
-
嗯,我已经阅读了很多这样的答案,但我仍然没有完全理解它。我正在寻找解释为什么在我的代码中特别需要它。我的是一个具体的例子,所以这可能会帮助我理解更多。