作者:fbysss
msn:jameslastchina@hotmail.com
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:IDL
一、Function 与Procedure
1.Function
函数,有返回值,
定义方式:Function funcName param1,param2......
调用方式:varName = funcName(param1,param2...);注意:必须用括号,而且前面必须有一个变量,否则都是语法错误。
2.Procedure
过程,无返回值
定义方式:Pro proName param1,param2....
调用方式:proName,param1,param2... 注意:必须用逗号把过程名与参数隔开。
小评:函数和过程,何必要搞这么不同的形式来调用呢?特别是过程的调用形式,很难看。实在不解。
二、pro文件结构:
一个pro文件里面可以有多个pro,或者function,但必须有一个主pro和文件名保持一致。相当于c中的main函数,即程序的入口。
实验过程:
新建立一个temp.pro
内容为:
PRO ADD, A, B
PRINT, 'A = ', A
PRINT, 'B = ', B
A = A + B
PRINT, 'A = ', A
END
PRO MYPROCEDURE
X = 5
; Call the ADD procedure:
ADD, 3, X
END
编译通过,运行时出现错误:
% Attempt to call undefined procedure/function: 'TEMP'.
% Execution halted at: $MAIN$
把文件名修改为MYPROCEDURE或者把pro名修改为temp之后,编译通过。
一旦编译通过一次,之后怎么改都可以了。不一致也行。不过还是建议按照标准来做。