Scala:隐式传递一个隐式参数,显式传递另一个.是否可以? [英] Scala: Passing one implicit parameter implicitly and the other explicitly. Is it possible?
本文介绍了Scala:隐式传递一个隐式参数,显式传递另一个.是否可以?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
让我们考虑一下功能:
def foo(隐含a:Int,b:String)= println(a,b)
.
现在,让我们假设范围内有一个隐式的 String
和 Int
( implicit val i1 = 1
),但我们想明确地将另一个非隐式 Int
( val i2 = 2
)传递给 foo
.
Now, let us assume that there is an implicit String
and Int
(implicit val i1=1
) in scope but we want to pass an other, not implicit Int
(val i2=2
) explicitly to foo
.
我们该怎么做?是否可以?感谢您的阅读.
How can we do that ? Is it possible? Thanks for reading.
推荐答案
我只能添加:
def foo(implicit a: Int, b: String) = println(a, b)
implicit val i1 = 1
implicit val s = ""
val i2 = 2
foo(i2, implicitly[String])
这篇关于Scala:隐式传递一个隐式参数,显式传递另一个.是否可以?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文