IDL中的关键词继承

来自Shiyin's note
Shen讨论 | 贡献2017年1月5日 (四) 06:26的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
  • 程序中的变量是关键词后面的变量名
 pro test,testkey=testk

help,testk help,testkey

      testk=1.
end	
IDL>test,testkey=1.
IDL>test,testkey=testk


可以利用关键词继承的方法修改一些已有的程序例子 _EXTRA是进行数值的继承(by value)

PRO TEST, a, b, _EXTRA = e, COLOR = color 
    PLOT, a, b, COLOR = color, _EXTRA = e 
END

这个程序把所有的不接受的关键词都传递给plot,如果plot不认识也不报错,如果希望报错用_STRICT_EXTRA

 PRO TEST, a, b, _EXTRA = e, COLOR = color 
   PLOT, a, b, COLOR = color, _STRICT_EXTRA = e 
END 

_REF_EXTRA是进行指针的机场(by reference),这两者有一定的区别。

PRO HELP_BYVAL, _EXTRA = ex

 HELP, _EXTRA = ex 

END

PRO HELP_BYREF, _REF_EXTRA = ex

 HELP, _EXTRA = ex 

END

运行

HELP_BYVAL, OUTPUT = out & HELP, out

HELP_BYREF, OUTPUT = out & HELP, out 两者结果不同