【发布时间】:2015-06-26 20:49:12
【问题描述】:
我有一个类似于以下情况的用例:
trait A {
implicit val x = "hello"
}
class B {
// somehow bring x into scope here???
def run(x: Int)(implicit y: String) = y + x
}
println((new B).run(3))
我知道我需要将 trait 中定义的x 带入 B 的隐式范围内。我已经尝试了以下方法:
# attempt 1 #
class B extends A { .... } /// doesn't work
# attempt 2 #
class B extends A {
val x1 = implicitly[String] /// doesn't work either
def run(x: Int)(implicit y: String) = y + x
}
请解释我在这里遗漏了什么(或者,指出我可以研究的相关理论主题,对 scala 来说相当新)。
【问题讨论】:
标签: scala