gpt4 book ai didi

scala - 为什么我不能将case对象用作多态类型

转载 作者:行者123 更新时间:2023-12-04 06:36:16 24 4
gpt4 key购买 nike

以下代码无法编译:

  case object O

trait Show[A] {def show(a: A) : String}

class OShow extends Show[O] {
override def show(a: O): String = "ahoy"
}

编译错误是
Error: not found: type O
class OShow extends Show[O] {

那么,如何将案例对象用作多态类型呢?
^

最佳答案

就像@endeneu提到的那样,对于案例对象,您需要使用.type,也称为单例类型注释:

class OShow extends Show[O.type] {
override def show(a: O.type): String = "ahoy"
}

关于scala - 为什么我不能将case对象用作多态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29032865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com