構造体の作成およびクローン作成用イベント ハンドラ

構造体の作成および構造体クローン作成時に呼び出される構造体定義には、2 つのイベント ハンドラを実装することができます。

構造体イベント ハンドラは常に private です。

これらのイベント ハンドラを使用して、追加の初期化タスクを実行したり、デバッグ用に変数の初期値を出力したりすることができます。

   

構文

on create do <expression>

このハンドラは、構造体のインスタンスが作成されたときに呼び出されます。

   

on clone do <expression>

このハンドラは、構造体インスタンスのコピーが作成されたときに作成されます。

例 - 定義と作成:

struct foo2
(
A = 1,
B = 3,
fn error = throw "ZZZ",
on create do format "Struct Created: %\n" this,
on clone do format "Struct Cloned: %\n" this
)
 
f = foo2 ()

結果:

#Struct:foo2(
a:<data>; Public,
b:<data>; Public,
error:<fn>; Public)
Struct Created: (foo2 a:1 b:3)
(foo2 a:1 b:3)

例(続き) - クローン:

f2 = copy f

結果:

Struct Cloned: (foo2 a:1 b:3)
(foo2 a:1 b:3)

関連事項