首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找隐式依赖于隐式

查找隐式依赖于隐式
EN

Stack Overflow用户
提问于 2013-06-12 17:24:56
回答 1查看 73关注 0票数 0

我有一个隐含的值,这取决于另一个隐含的值。当第二个在作用域中时,我想导入第一个隐式:

代码语言:javascript
复制
trait B
trait A

implicit def provideAnA(implicit b:B) = {
    implicit val a = new A{}
}

def myMeth(implicit a:A) = 42

{
    implicit val implB = new B{}
    // i would like to be able to pass this through compiler
    myMeth()    
}

这是不是有可能呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 17:35:12

provideAnA的定义中,您创建了一个隐式变量。这个变量不在myMeth的作用域内,也是不必要的。只需从provideAnA返回值,它就会正常工作。因此,您的provideAnA方法应该如下所示:

代码语言:javascript
复制
implicit def provideAnA(implicit b:B) = new A{}

此外,您还必须从对myMeth的调用中删除括号,否则编译器会尝试在不带参数的情况下调用它,并且找不到对应的impl。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17061965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档