如何在Scala 3中声明和传递参数到隐式参数?



我在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是如何表达"需求"的概念的。在"现场"的定义和"提供"的概念上在呼叫现场

相关内容

  • 没有找到相关文章

最新更新