处理特征中的Function1类型参数

时间:2016-04-09 05:09:30

标签: scala

我的问题是在我的特质中使用Function1并使事情正常工作,让我说我有以下特点

KeyStore

我有Z型的原因是Function1的类型签名是[T1-,R +]。我希望trait Foo[+X, +O, Z<:X]{ def bar: Z => O def args:Option[Z] } case class A1(args:Option[String] = None) extends Foo[String,String,String]{ def bar = (x:String) => x+"..." } case class A2(args:Option[Int] = None) extends Foo[Int,String,Int]{ def bar = (x:Int) => x.toString } val mylist = List(A1(),A2()) 的{​​{1}}类型现在为mylist。所以基本上我希望Z也是协变的,这是不可能的。我该如何定义我的特质来解决这些问题?

0 个答案:

没有答案