構造体の作成およびクローン作成用イベント ハンドラ
構造体の作成および構造体のクローン作成時に呼び出される構造体定義には、2 つのイベント ハンドラを実装することができます。
構造体イベント ハンドラは常に private です。
これらのイベント ハンドラを使用して、追加の初期化タスクを実行したり、デバッグ用に変数の初期値を出力したりすることができます。
構文
on create 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)
|
例(続き) - クローン:
|
|
結果:
|
Struct Cloned: (foo2 a:1 b:3)
(foo2 a:1 b:3)
|