“IDL中的关键词继承”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
(以“可以利用关键词继承的方法修改一些已有的程序例子 _EXTRA是进行数值的继承(by value) PRO TEST, a, b, _EXTRA = e, COLOR = color PLOT,...”为内容创建页面)
 
无编辑摘要
 
第1行: 第1行:
*程序中的变量是关键词后面的变量名
pro test,testkey=testk
help,testk
help,testkey
testk=1.
end
:IDL>test,testkey=1.
:IDL>test,testkey=testk


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

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 两者结果不同