La mayoría de los lenguajes de programación nos brindan movilidad de argumentos de longitud variable a una función, Scala no es una excepción. nos permite indicar que el último argumento de la función es un argumento de longitud variable. se puede repetir varias veces. Nos permite indicar que el último argumento de una función es un argumento de longitud variable, por lo que puede repetirse varias veces. podemos pasar tantos argumentos como queramos. Esto permite a los programadores pasar listas de argumentos de longitud variable a la función. Dentro de la función, el tipo de argumentos dentro de lo declarado en realidad se guarda como Array[Datatype], por ejemplo, se puede declarar como tipo String* es en realidad Array[String] .
Nota :-Colocamos * en el último argumento para que sea de longitud variable.
Sintaxis: –
def Nameoffunction(args: Int *) : Int = { s foreach println. }
A continuación se muestran algunas restricciones de varargs:
- El último parámetro de la lista debe ser el argumento repetido.
def sum(a :Int, b :Int, args: Int *)
- No hay valores predeterminados para ningún parámetro en el método que contiene los varargs.
- Todos los valores deben ser del mismo tipo de datos; de lo contrario, se producirá un error.
> sum(5, 3, 1000, 2000, 3000, "one")
> error: type mismatch;
found : String("one")
required: Int - Dentro de los argumentos del cuerpo hay una array, por lo que todos los valores se empaquetan en una array
Ejemplo :
// Scala program of varargs object GFG { // Driver code def main(args: Array[String]) { // Calling the function println("Sum is: " + sum(5, 3, 1000, 2000, 3000)); } // declaration and definition of function def sum(a :Int, b :Int, args: Int *) : Int = { var result = a + b for(arg <- args) { result += arg } return result } }
Producción :
Sum is: 6008
En el ejemplo anterior, podemos ver que el último argumento de la función es un argumento de longitud variable. aquí 1000 es un argumento de longitud variable. el argumento arg se agrega a la variable de resultado . el argumento de los nombres es de tipo Integer .
Ejemplo :
// Scala program of varargs object GFG { // Driver code def main(args: Array[String]) { // calling of function printGeek("Geeks", "for", "geeks") } // declaration and definition of function def printGeek(strings: String*) { strings.map(println) } }
Producción :
Geeks for geeks
En el ejemplo anterior, como lo hemos definido usando la sintaxis * , por lo que es un argumento variable. el argumento de los nombres es de tipo String .
Publicación traducida automáticamente
Artículo escrito por ashishsaini3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA