Open In App

Scala | Repeated Method Parameters

Last Updated : 29 Mar, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

In Scala, Repeated Method parameters are supported, which is helpful when we don’t know the number of arguments a method requires. This property of Scala is utilized in passing limitless parameters to a method defined.
Important points :

  • The methods with Repeated Parameters should have each of the parameters of same type.
  • A Repeated parameter is always the last parameter of the method defined.
  • The method defined by us, can have only one parameter as Repeated Parameters.

Example:




// Scala program of repeated 
// parameters
  
// Creating object
object repeated
{
  
    // Main method
    def main(args: Array[String])
    {
  
        // Creating a method with
        // repeated parameters
        def add(x: Int*)
        : Int =
        {
  
            // Applying 'fold' method to 
            // perform binary operation
            x.fold(0)(_+_)
      
        }
  
        // Displays Addition
        println(add(2, 3, 5, 9, 6, 10, 11, 12))
    }
}


Output:

58

In order to add any number of extra parameters, we need to put * mark after the type of the parameter being used.
Some more examples of Repeated Parameters:

  • An Array can be passed in the Repeated Parameter method.
    Example:




    // Scala program of repeated 
    // parameters
      
    // Creating object
    object arr
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating a method with
            // repeated parameters
            def mul(x: Int*)
            : Int =
            {
      
                // Applying 'product' method to 
                // perform multiplication
                x.product
          
            }
      
            // Displays product
            println(mul(Array(7, 3, 2, 10): _*))
        }
    }

    
    

    Output:

    420
    

    In order to pass an array in the defined method, we need to put a colon i.e, : and _* mark after passing the values in the array.

  • An example to show that Repeated Parameters are always the last parameter of the method defined.
    Example:




    // Scala program of repeated 
    // parameters
      
    // Creating object
    object str
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating a method with
            // repeated parameters
            def show(x: String, y: Any*) =
            {
          
                // using 'mkString' method to
                // convert a collection to a
                // string with a separator
                "%s is a %s".format(x, y.mkString("_"))
            }
      
            // Displays string 
            println(show("GeeksforGeeks", "Computer",
                                "Sciecne", "Portal"))
        }
    }

    
    

    Output:

    GeeksforGeeks is a Computer_Sciecne_Portal
    

    Here, format is used to format strings.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads