我无法找出为什么我的隐含不在范围内。这是一个测试:
package test
object Main extends App {
import fp._
def foo(a: Int)(implicit b: B0) = a + b.x
print(foo(1))
}
diff包中的组件:
package fp
trait Components {
implicit val b0: B0 = B0(2)
}
object Components extends Components
sealed trait B
case class B0(x: Int) extends B
我得到的错误
could not find implicit value for parameter b: fp.B0
print(foo(1))
^
任何想法如何解决?
答案 0 :(得分:3)
你需要做
import fp.Components._
或在隐式作用域中定义隐式值b0
,例如B0
的伴随对象内部或包对象。
以下是一些阅读材料: