可变数目参数的好处就是在某些情况下可以方便地对参数个数不确定情况的实现,例如计算任意数字的加权和,链接任意字符串为一个字符串等。看下例子:
代码如下:public class Test2 { public static void Main() { ShowName(“小A”); //这里可以指定任意长度的参数也可以传递不同类型的参数,但要改参数类型为object ShowName(“小A”, “小B”); } public sta
为了实现在一种稳定的材料上制作简单的光栅耦合器,提出了在钛扩散铌酸锂波导上制作光折变长周期光栅耦合器的方案。利用有效折射率法和耦合模理论,确定了耦合器的结构参数,包括光栅周期为74.28 μm,两波导的分开距离为8 μm以及100%耦合情况下光栅的最小长度为2.42 cm。分析了传输光谱,得到3 dB带宽为5.20 nm。模拟结果表明,当光栅长度和偏移距离的容差分别为0.37 cm 和0.21 cm 时,耦合效率可以达到90%以上。该耦合器有望应用于粗波分复用系统。
变长参数
传递的参数是可以改变的。
例如:
def sum(nums:Int * ) = {
var result = 0
for(num <- nums){
result += num
}
result
}
result 是返回值
因为是返回值,所以 在定义的时候别忘记有 = 。
如何传递 range 序列 ?
比如上面的传递 val s = sum(1 to 10) 这样子是不对的,此时需要使用 scala 特殊的语法将参数定义为序列,让 scala 解释器能够识别。
形如这样子:
一、变长参数函数
头文件:#include
函数声明
int add(int count, ...);
函数定义
int add(int count, ...)
{
va_list va;
va_start(va, count);
int sum = 0;
for (int i = 0; i < count; i++)
sum += va_arg(va, int);
va_end(va);
return sum;
}
函数调用
int main()
{
cou