Scala中的Varargs

Scala varargs

Varargs是为函数提供变长参数的概念。Scala编程语言还在其程序中提供了此功能。

在Scala中,方法的最后一个参数可以是可变参数,即可以在方法的参数列表中重复多次。在此函数中,程序员可以传递多个参数。

可变参数被存储为相同的数据类型,即数组[DATA_TYPE]的数组。例如,如果使用float作为varargs的数据类型,则将它们存储为数组[float]。

为了使方法接受varargs,您需要在最后一个参数上加一个星号(*),该参数将由可变长度(即varargs)组成

语法:

    def method_name (valarg_name : data_tpye *) : Int = { code }

当您不知道某个方法将接受的参数数量时,最好使用Varargs

范例1:

object MyObject 
{ 
    def stringreturn(strings: String*) 
    { 
        strings.map(print) 
    }
    
    def main(args: Array[String]) 
    { 
        stringreturn("Hello! ", "Welcome ", "To ", "Include Help") 
    } 
}

输出结果

Hello! Welcome To Include Help

范例2:

object MyObject 
{ 
    def avg(a: Int *) : Double =
    { 
        var result = 0 
        var count = 0
        
        for(arg <- a) 
        { 
            result += arg 
            count+= 1
        } 
        return result/count 
    }
    
    def main(args: Array[String]) 
    { 
        println("平均为: " + avg(543, 98, 123, 25, 323)); 
    } 
}

输出结果

平均为: 222.0