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