Scala Varargs

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *