arrays - ¿Cómo pasar Scala array al método Scala vararg?
variadic-functions (2)
Considere el siguiente código:
private def test(some:String*){
}
private def call () {
val some = Array("asd", "zxc")
test(some)
}
Imprime
expect String, found Array[String]
¿Por qué?
¿Los Scarar varargs no son matrices?
Nota
Encontré varias preguntas en Stack Overflow sobre los varargs de Scala, pero todas se refieren a llamar a los métodos de varargs de Java o sobre convertir las listas de Scala en matrices.
Agregar
:_*
al parámetro en una
test
como esta
test(some:_*)
Y debería funcionar como esperabas.
Si se pregunta qué hace ese mágico
:_*
, consulte
esta pregunta
.
Es simple:
def test(some:String*){}
def call () {
val some = Array("asd", "zxc")
test(some: _*)
}