Scala расширенный конструктор - PullRequest
2 голосов
/ 29 ноября 2011

Скажи, что у меня есть:

class DecisionTree(private val instances: Array[Instance]){

и я хочу вычислить другую переменную экземпляра, скажем, totalEntropy, которая требует от меня дальнейшей обработки, которая потребует создания хеш-карты как части вычислений.

Я придумал:

private var totalEntropy = (() => {
  val m = collection.mutable.Map()
  ...
})()

но это кажется неловким. Должен ли я просто отказаться от аргументов в определении класса и использовать вспомогательный конструктор? Какой хороший способ сделать это?

1 Ответ

4 голосов
/ 29 ноября 2011

Почему не только это?

private var totalEntropy = {
  val m = collection.mutable.Map()
  ...
}
...