[[
Fun
]]
Xtal Unofficial Wiki
現在位置:
Xtal Unofficial Wiki
»
Xtal Reference
»
Fun
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Fun ====== 関数です。 fun(){}式によって生成されます。 いわゆるクロージャになっているので、関数生成時の変数環境が保存されます。意味的にこの文に含まれていますが、thisは関数生成時のものが使われます(Methodとの比較のために明示しました)。 ===== Example ===== <code cpp> // 次のようなシンタックスシュガーが用意されている fun func(x){ return x + x; } func2 : fun(x, y){ return x + y; } func(10).p; func2(10, 3).p; </code> クロージャとなっていることを示す例1。 <code cpp> class Foo{ returnFun(x){ return fun(){ this.print(x); } } print(x){ x.p; } } foo : Foo(); f : foo.returnFun(100); f(); </code> このように、変数環境が保持され、thisとxを渡していないのにf()を呼び出したときに使用することができています。 クロージャとなっていることを示す例2。WikipediaのコードのXtal移植です。 <code cpp> fun newCounter(){ i : 0; return fun(){ i = i + 1; return i; } } c1 : newCounter(); c1().p; c1().p; c1().p; </code>
reference/fun.txt · 最終更新: 2011/06/28 14:07 by sukai
文書の表示
以前のリビジョン
文書の先頭へ