Это правильный код Scala? - PullRequest
       4

Это правильный код Scala?

1 голос
/ 14 февраля 2011

Почему этот код вызывает сбой компилятора Scala 2.8.1?

val a = new Array[{ var x = 1 }](3)

Это ошибка компилятора?

В любом случае, это законный код Scala? (Я хочу массив объектов с анонимным типом класса)

Обновление:

Я хочу что-то вроде:

class X { var x = 1}
val a = new Array[X](3)

но без необходимости определения автономного X

Ответы [ 2 ]

8 голосов
/ 14 февраля 2011

Сбои компилятора - это всегда ошибки. Но почему вы пытаетесь установить x равным 1 в объявлении type ?

Вы, вероятно, хотите один из них:

val a = new Array[{var x: Int}](3)
val a = Array.fill(3)(new { var x = 1 })

(и компилятор доволен любым из них).

0 голосов
/ 14 февраля 2011

Для меня это не сбой (Scala 2.8), так что, скорее всего, это ошибка.

...