1
这是我的第一个问题,所以我希望我能够正确地做所有事情。将类型成员类型扩展为集合
我的情况是这样的:我想使用类型类来表示特定类型在函数下关闭。具体而言,类型类别被称为Substitutable
。目的是如果T
是Substitutable
的一个实例,那么您可以对其应用替代并获得T
作为回报。这是通过的每个实例必须实现的方法applySubstitution
来实现的。
集合继承此闭包属性;如果我将元素替换应用于列表T
s,其中T
是Substitutable
的一个实例,则结果将再次为T
s的列表,因此List[T]
本身就是Substitutable
的一个实例。
总之,如果T
是一个实例,我想使List[T]
为Substitutable
的实例。我看不出如何表达这一点。我看到它的方式,我需要写类似
implicit objectSubstitutableList[T: Substitutable] extends Substitutable[List[T]],
但这是不可能的,因为我不能给一个类型参数的隐式对象。
我该如何解决这个问题?