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 :
Scala
- 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.
// 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:
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:
58
- An Array can be passed in the Repeated Parameter method.
Example:
Scala // 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: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.420
- An example to show that Repeated Parameters are always the last parameter of the method defined.
Example:
Scala // 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:Here, format is used to format strings.GeeksforGeeks is a Computer_Sciecne_Portal