0

目前正在研究从 mvBase 迁移到 Unidata 并想知道是否支持用户定义函数,因为我在下载的文档中看不到这一点?

例如,我有类似的 DATABASIC 程序

A = @FUNCTION_NAME(VAR1)

4

1 回答 1

1

是的,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 语法调用的函数。

于 2012-05-07T01:08:30.647 回答