当前位置:  开发笔记 > 编程语言 > 正文

找不到参数e的隐含值

如何解决《找不到参数e的隐含值》经验,为你挑选了1个好方法。



1> 0__..:

如果您使用implicitly它,只需在范围内"显式"提供隐式值.所以你的isItCute方法应该是以下两种变体之一:

def isItCute[A: CuteChecker](a: A) = implicitly[CuteChecker[A]].isCute(a)

def isItCute[A](a: A)(implicit cc: CuteChecker[A]) = cc.isCute(a)

接下来,您需要一个隐式实例Cat.这implicit class对你没有帮助,因为它需要一个非隐式的类型值Cat.您可以看到此方法是错误的,因为从不使用构造函数参数.你可以使用implicit object:

implicit object CatCuteChecker extends CuteChecker[Cat] {
  def isCute(c: Cat) = true
}

最后,您在object中提供了implicits CuterImplicits.要使它们可见Main,您需要导入内容:

object Main extends App {
  import CuterImplicits._
  CheckingForCuteness.isItCute[Cat](Cat("funny"))
}

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有