目前正在研究从 mvBase 迁移到 Unidata 并想知道是否支持用户定义函数,因为我在下载的文档中看不到这一点?
例如,我有类似的 DATABASIC 程序
A = @FUNCTION_NAME(VAR1)
目前正在研究从 mvBase 迁移到 Unidata 并想知道是否支持用户定义函数,因为我在下载的文档中看不到这一点?
例如,我有类似的 DATABASIC 程序
A = @FUNCTION_NAME(VAR1)
是的,Unidata 支持用户定义的函数。
要在 Unidata 中创建函数,请在代码文件的第 1 行使用如下行:
FUNCTION MY.FUNCTION.NAME( ARG1, ARG2 )
在函数内部,使用 RETURN 语句返回结果:
RETURN ARG1 + ARG2
要调用它,您必须表明您将在使用该函数的程序中的 DEFFUN 语句中使用它:
DEFFUN MY.FUNCTION.NAME( ARG1, ARG2 )
我通常将我的 DEFFUN 语句放在程序顶部附近,就在任何 $INCLUDE 之后。(参数名称不必在 FUNCTION 和 DEFFUN 行之间匹配,但我不知道有什么理由故意使它们不同。)
完成该设置后,您可以通过在表达式中使用其名称来调用该函数:
TOTAL = MY.FUNCTION.NAME( 10, 15 )
在该语句之后,TOTAL 的值为 25。
我从未在 Unidata 中见过使用 @FUNCTION_NAME 语法调用的函数。