初期化中の構造スコープ
構造体の初期化時に、スコープが構造体のコンテキストに設定されるようになりました。これによって、構造体のインスタンスが作成されたときに、構造体内の関数を効果的に実行できるようになります。
たとえば、次の構造体のインスタンスを作成するときに、変数 'foo' は初期化されて 2 になり、関数 'onCreate' は変数 foo を増分させて foo
に 3 を加えた値を返します。さらに、変数 'a' は初期化されて、関数 'onCreate' を呼び出した結果の値になります。
例:
|
struct doinStuff (
foo = 2,
fn onCreate= (foo += 1;foo+3),
a = onCreate()
)
DoIt = doinStuff()
|
結果:
|
|
構造体インスタンスを作成して実行できることによって、創意工夫する可能性が拡大します。