我想使用 Scala 的上下文绑定模式做以下事情:
class Polynomial[T: Ring] {
def apply[X: Ring with Includes[T]](x: X): X = ...
...
}
这是一个多项式类,它要求系数是 a 中的元素Ring T
。当将此多项式应用于元素(求值)时,参数的类型x
必须是环,并且类型的元素T
可以隐式转换为 type X
。例如T = Double, X = SquareMatrix
。
如何在 Scala 中对泛型类型参数施加多个类型约束?