Scala:隐式传递一个隐式参数,显式传递另一个.是否可以? [英] Scala: Passing one implicit parameter implicitly and the other explicitly. Is it possible?

查看:50
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆