ユーザ定義関数の動作

Magicエンジン > ユーザ定義関数

タスクまたはサブタスクは、そのタスクのタスクツリー内でアクセス可能なユーザ定義関数を参照することができます。メインプログラムで定義されたユーザ定義関数は、アプリケーション全体で利用可能です。

[式]エディタから[関数一覧]を表示させた場合、「ユーザ定義」のグループをクリックすると、ユーザ定義関数の一覧が表示されます。ユーザ定義関数のどれかにカーソルをパークさせると、コメントボックスに定義された内容がヘルプ文字として表示されます。

注意:

コメントボックス(F12)内に/*と*/で囲まれたテキストを入力することによって、ユーザ定義関数に関する簡単なヘルプを作成することができます。

重複した関数名

複数のユーザ定義関数が同じ名前で定義されている場合、スコープで指定された内容に基づいて使用されます。

例えば、2つのユーザ定義関数が「ABC」という同じ名前で定義されているものとします。一方の[スコープ]が「サブタスク」で他方が、メインプログラムにおいて「グローバル」と定義されている場合。サブタスク内では、「サブタスク」と定義された関数を使用することになり、他のプログラムで使用する場合は、メインプログラムで定義された関数を使用することになります。

組み込み関数をオーバライド

Magicの組み込み関数と同じ名前のユーザ定義関数を定義した場合、組み込み関数がオーバライドされます。例えば、STRというユーザ定義関数を作成した場合、Magicの組み込み関数は無効になります。

注意:

組み込み関数と同じ名前のユーザ定義関数内で、同じ名前の関数をネストさせて使用した場合の動作は保証されません。

ユーザ定義関数の削除やリネーム

ユーザ定義関数の名前が変更されても、式に定義された関数名は自動的に変更されません。また、関数定義が削除されても、式内の関数は削除されません。関数名の変更や関数定義の削除は開発者の責任で行ってください。

関数名が変更されたり関数定義が削除され、以前の名前に該当する関数が存在しなくなった場合、この関数名を参照している式定義は全て無効になります。構文チェックユーティリティは、エラーとして扱います。

関数名が変更されたり関数定義が削除されても、同じ名前の関数が別に存在している場合は、全ての式は、存在している既存の関数を参照することになります。

参照