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 に答える