ToFunctorOps
定義通過ToLiftV
隱含一個lift
方法,但我似乎無法讓它找到我的仿函數實例:如何使用升降機從ToFunctorOps
import scalaz.std.option._
import scalaz.syntax.functor._
import scalaz.syntax.id._
import scalaz.syntax.std.option._
def inc(x: Int) = x + 1
1.some |> (inc _).lift
<console>:16: error: could not find implicit value for parameter F: scalaz.Functor[F]
1.some |> (inc _).lift
option的函子實例可見,但編譯器似乎無法找到它。任何關於如何解決這個問題的建議?
我不明白你的第二個解決方法的要求。這些進口應該就足夠了。 'import scalaz.std.AllInstances._'and'import scalaz.syntax.functor._' –
@YoEight是的,這就是這個問題的要點:他們應該,但他們不應該。 – Hugh
這是奇怪的行爲 - 非常好的挖掘。 – Hugh