Как создать массив массивов в Scala - PullRequest
1 голос
/ 17 февраля 2012

В Scala я хотел бы создать TestNG DataProvider , который преобразует все элементы перечисления в массив массивов, где каждый элемент во внешнем массиве представляет собой массив, содержащий одно из значений перечисление.

Это моя первая попытка, но она возвращает набор массивов.

@DataProvider(name = "profileIdProvider")
def provideProfiles() = {
  for (profile <- ProfileId.values) yield Array(profile)
}

Что мне нужно, чтобы вернуть что-то вроде этого:

Array(Array(value1), Array(value2))

Ответы [ 2 ]

4 голосов
/ 17 февраля 2012
@DataProvider(name = "profileIdProvider")
def provideProfiles() = {
  ProfileId.values.map(Array(_)).toArray
}

Не проверено, но, по-моему, должно работать.

2 голосов
/ 17 февраля 2012

Нечто подобное должно делать (изменено, конечно, для использования ProfileId.values):

def provideProfiles() = { 
    var returnVal = List[Array[Int]]()
    for (profile <- 1 to 5) returnVal :+= Array(profile)
    returnVal.toArray
}

Хотя мне, конечно, больше нравится ответ @ missingfaktor.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...