时间:2021-05-20
重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“*”来指明该参数为重复参数。例如:
在函数内部,变长参数的类型,实际为一数组,比如上例的String * 类型实际为 Array[String]。 然而,如今你试图直接传入一个数组类型的参数给这个参数,编译器会报错:
为了避免这种情况,你可以通过在变量后面添加 _*来解决,这个符号告诉Scala编译器在传递参数时逐个传入数组的每个元素,而不是数组整体。
scala> echo (arr: _*)What'supdoc?命名参数 通常情况下,调用函数时,参数传入和函数定义时参数列表一一对应。
scala> def speed(distance: Float, time:Float) :Float = distance/timespeed: (distance: Float, time: Float)Float scala> speed(100,10)res0: Float = 10.0使用命名参数允许你使用任意顺序传入参数,比如下面的调用:
scala> speed( time=10,distance=100)res1: Float = 10.0 scala> speed(distance=100,time=10)res2: Float = 10.0缺省参数值 Scala在定义函数时,允许指定参数的缺省值,从而允许在调用函数时不指明该参数,此时该参数使用缺省值。缺省参数通常配合命名参数使用,例如:
scala> def printTime(out:java.io.PrintStream = Console.out, divisor:Int =1 ) = | out.println("time = " + System.currentTimeMillis()/divisor) printTime: (out: java.io.PrintStream, divisor: Int)Unit scala> printTime()time = 1383220409463 scala> printTime(divisor=1000)time = 1383220422以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。下面的例子,传递了一个固定位置参数和两个变长参数。
Java可变参数列表详解1、接受的传入参数情况:如publicvoidtest(String...args){...}1)不使用参数,如test()2)使用一个
通过stdarg.h头文件为函数提供了定义可变参数列表的能力。声明一个可变参数的函数类似:voidf1(intn,...);其中n表示参数列表个数,而用省略号来
C++编程中实现可变参数函数有多种途径,本文介绍一种最常见的实现途径,即可变参数宏方法:形参生命为省略符,函数实现时用参数列表宏访问参数。1.可变参数宏实现变参
Java可变参数列表复制代码代码如下:classA{}由于所有的类都继承于Object,可以以Object数组为参数的方法:publicclassparamet