Вам просто нужно вернуть c
в конце блока yield
, чтобы получить коллекцию Constraints
. Чтобы получить List
, используйте List
вместо Range
. Как это:
val d = for {
i <- List.range(0, 4)
j <- List.range(0, 4)
} yield {
c = new Constraints
c.gridx = j
c.gridy = i
c
}
Фактически, исходный код не будет выполнять то, что вы ожидали в Scala 2.7, потому что там диапазоны (как в Range
) не являются строгими. Вы можете найти его в Stack Overflow или в Google, но суть в том, что каждый раз, когда вы просматриваете элемент в d
, он создает новый Constraint
. Это поведение изменилось для Scala 2.8.