2012-05-06 33 views
0

當前正在研究從mvBase遷移到Unidata,並且想知道是否支持用戶定義函數,因爲我在我已下載的文檔中看不到這一點。UniData支持用戶定義函數

e.g我有DATABASIC程序的東西,如

A = @FUNCTION_NAME(VAR1)

回答

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) 

這句話後,總計將有我從來沒有見過一個叫在Unidata的的@FUNCTION_NAME語法功能的25

的值。