我正在尝试理解clojure协议以及它们应该解决的问题.有没有人对clojure协议的最新情况有什么明确的解释?
我有一个参数化类型的类,我想做比较运算符.我认为我需要使用Ordered trait来实现这一点,但编译器不喜欢我使用它.所以说我有以下课程:
class Test[T <: Ordered[T]] {
def someOp(t: T) if(t < 3) ...
...
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用此类如下:
val test = new Test[Int]()
Run Code Online (Sandbox Code Playgroud)
编译器抱怨如下:
类型参数[Test [Int]]不符合类Test的类型参数bounds [T <:Ordered [T]]
有人可以向我解释我在这里做错了什么吗?