如何在scala中创建数组数组

时间:2012-02-16 21:11:19

标签: scala testng

在Scala中,我想创建一个TestNG DataProvider,它将枚举的所有元素转换为数组,其中外部数组中的每个元素都是一个包含枚举值之一的数组。 / p>

这是我的第一次尝试,但它会返回一组数组。

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

我需要它返回的是这样的:

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

2 个答案:

答案 0 :(得分:4)

@DataProvider(name = "profileIdProvider")
def provideProfiles() = {
  ProfileId.values.map(Array(_)).toArray
}

未经测试,但我认为应该有效。

答案 1 :(得分:2)

这样的事情应该做(当然修改为使用ProfileId.values):

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

当然,我更喜欢@ missingfaktor的答案。