Я определил класс в Scala (2.9.1) следующим образом:
class A(val neighbors: Array[Option[A]]) {
def this() = this(new Array[Option[A]](6))
// class code here ...
}
Моя проблема в том, что соседи инициализируются с нулями, когда я хотел бы, чтобы он был инициализирован с None
.Я пробовал это, но компилятор жалуется с сообщением об ошибке «not found: type None»:
class A(val neighbors: Array[Option[A]]) {
def this() = this(new Array[None](6))
// class code here ...
}
Я могу сделать это, что дает желаемое поведение, но это не выглядит очень элегантно:
class A(val neighbors: Array[Option[A]]) {
def this() = this(Array(None, None, None, None, None, None))
// class code here ...
}
Итак, мой вопрос: каков наилучший способ сделать это?
РЕДАКТИРОВАТЬ: я имею в виду поведение, когда вызывается new A()
.