UniData是否支持用户定义的功能

时间:2012-05-06 19:32:38

标签: multivalue unidata

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

例如我有像

这样的DATABASIC程序

A = @FUNCTION_NAME(VAR1)

1 个答案:

答案 0 :(得分: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语法调用的函数。