我在scala 2中有这段代码
val number = 20
def double(implicit y:Int)={
y*2
}
def count(implicit x:Int)={
double
}
object HelloWorld {
def main(args: Array[String]): Unit = {
println(count(number)) // res: 40
}
}
这里count
函数的x
参数标注为implicit
,可以隐式传递给double
函数。我怎么能做到这一点在Scala 3
使用给定使用/召唤?
相关文档章节是与Scala 2隐式的关系-使用子句,其中解释了
定义必须为using子句的形参写显式实参使用
(using ...)
,镜像定义语法。
def double(using y: Int) = y*2
def count(using x: Int) = double
可以像这样使用
count(using number)
请注意,在概念上,同样的关键字using
是如何表达"需求"的概念的。在"现场"的定义和"提供"的概念上在呼叫现场