2012-03-21 12 views
1

まあ、私はScala allwos aux cons型のパラメータがないことを知っています。私は、Scala aux cons型パラメータの回避策

class Group[G <: Groupable] (groupees: Buffer[G]) { 
    //stuff here 
} 

と私はそのクラスを拡張したい場合はどのようなクラスを持っている

class Lizards extends Group [Lizard] (Buffer[Lizard]()) 

親クラスの短所引数はここに不要と思われると言うので、私は想定して、それをテイクダウンしたい場合Groupに何かがパラメータ化されている場合は、バッファ作成にその型を使用する必要があります。禁止された型付きAUX短所を除いてそれを行う方法はありますか?

答えて

3

は私のために正常に動作するようです:

import collection.mutable.Buffer 
trait Groupable 
class Group[G <: Groupable] (groupees: Buffer[G]) 
class Lizard extends Groupable 
class Lizards extends Group[Lizard] (Buffer()) // type only on superclass 
class Lizards extends Group (Buffer[Lizard]()) // type only on argument 
+0

weeeeeeeeeeeeeeeeeeell、それは半分の方法だ経由))))))しかし、しばらくして、この現実を受け入れなければならないでしょう! – noncom