Jak utworzyć instancję typu reprezentowanego przez parametr typu w Scali

przykład:

import scala.actors._  
import Actor._  

class BalanceActor[T <: Actor] extends Actor {  
  val workers: Int = 10  

  private lazy val actors = new Array[T](workers)  

  override def start() = {  
    for (i <- 0 to (workers - 1)) {  
      // error below: classtype required but T found  
      actors(i) = new T  
      actors(i).start  
    }  
    super.start()  
  }  
  // error below:  method mailboxSize cannot be accessed in T
  def workerMailboxSizes: List[Int] = (actors map (_.mailboxSize)).toList  
.  
.  
.  

Zauważ, że drugi błąd pokazuje, że wie, że elementy aktora to „T”, ale nie, że „T” jest podklasą aktora, ograniczoną w ogólnej definicji klasy.

W jaki sposób można poprawić ten kod do pracy (używając Scala 2.8)?

questionAnswers(4)

yourAnswerToTheQuestion