IDL中自定义过程与函数关键字参数说明

来源:互联网 发布:淘宝的返利网 编辑:程序博客网 时间:2024/05/25 05:35

定义一个获取数据最大值的GetMax函数,和GetMax_2的过程,测试效果

PRO Test_function  a=1  b=2  c=3  ;这里d为位置参数,可选  variable_1=GetMAX(a,b,c,d=1)  PRINT,'variable_1:',variable_1  ;过程没有返回值,这里d为空  GetMax_2,a,b,c,variable_2  PRINT,'variable_2:',variable_2  ;另外设置d的值为2  GetMax_2,a,b,c,variable_3,d=2  PRINT,'variable_3:',variable_3END;===================================;这里的d有点像C#里面的构造函数,初始化数据FUNCTION GetMax,a,b,c,d=d  arr=[a,b,c]  ;判断位置参数是否为空,是则默认为0  IF (d EQ !NULL) THEN BEGIN    d=0  ENDIF  e=MAX(arr)+d  RETURN, eEND;===================================;过程无返回值,这里4个位置参数,一个关键字参数PRO GetMax_2,a,b,c,e,d=d  arr=[a,b,c]  IF (d EQ !NULL) THEN BEGIN    d=0  ENDIF  e=MAX(arr)+dEND

运行结果

这里写图片描述

关键字参数可以灵活的修改程序,增强程序的可扩展性,当然我只是简单的写一下,实际的情况还得根据具体需求来