目次 前ページ 次ページ

ユーザー定義関数


func name [label ...]
    [statement]
endfunc

関数nameを定義する。

関数nameが呼び出されると、 statement部が子プロセスとして実行される。

labelを指定すると、引数用変数または配列にラベルを設定することができる。10個まで指定できる。

labelの前に&を記述すると、コマンド:param n 1の機能をする。また、labelの後ろに[]を記述すると、引数用配列にラベル設定する。例えば、

        func test a &b c[]
                        :

は、

        func test
                :label a @0
                :label b @1
                :param 1 1
                :label c @@2
                        :

と同等の機能をする。

1)ユーザー定義関数は、現在のプロセス内と、同レベルのユーザー定義関数内で、有効である。これは、再帰呼び出し、あるいは次のような記述が可能であることを意味する。

        func test1
                :
        endfunc
        func test2
                test1
        endfunc

2)ユーザー定義関数内で、ユーザー定義関数の定義はできない。

3)ユーザー定義関数内での、親プロセスから渡されたパラメータの参照方法は、外部関数の場合と同じである。(「外部関数」の章を参照)

4)ユーザー定義関数内では、親プロセスでコマンド:defineにより定義された定数を参照できる。


目次 前ページ 次ページ