我刚刚开始使用 Scalaz。我正在尝试在其超类中为我的类型定义一个零。
class Base {
implicit def BaseZ: Zero[this.type] = zero(classOf[this.type].newInstance() )
}
class Child extends Base
~Option(null:Child) //trying to make this produce: new Child
我收到两个错误:
1)按原样,这会产生"error: class type required but Base.this.type found"
2)如果我将 this.type 的第二次出现更改为 Base (这没用),我得到
类型不匹配;
发现:
需要基础:Base.this.type
谁能帮我理解 this.type 出了什么问题?我真的不想将类型参数传递或覆盖到 Base。