[[
Fiber
]]
Xtal Unofficial Wiki
現在位置:
Xtal Unofficial Wiki
»
Xtal Reference
»
Fiber
文書の表示
以前のリビジョン
最近の変更
サイトマップ
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Fiber ====== ファイバーです。他の言語ではコルーチンやマイクロスレッドと言われたりしています。 fiber(){}式によって生成されます。 処理の途中で中断し、再開することのできる関数として用いることができます。 returnするとそのファイバーは「終了」という扱いを受けてis_aliveがtrueを返すようになり、また、resetするまでは呼び出そうとしてもundefinedを返すだけとなります。 ===== Example ===== <code cpp> // 基本的な使い方 { fib : fiber(){ i : 0; while (true){ ++i; yield i; } } 10.times{ fib().p; } } // fiberから呼び出した関数でもyieldできる { f : fun(){ yield "in fun f"; } fib : fiber(){ yield "fiber begin"; f(); yield "fiber end"; // returnの値は無視される return "fiber finish"; } i : 0; while (fib.is_alive){ ret : fib(); ret.p; if (fib.is_alive){ ("loop "~i.to_s~" : "~ret).p; ++i; } } } </code> ===== Methods ===== |(constructor)| インスタンス生成| |reset| 初期状態に戻す| |halt| 強制終了させる| |is_alive| まだ終了していないかどうか|
reference/fiber.txt · 最終更新: 2011/07/14 23:42 by sukai
文書の表示
以前のリビジョン
文書の先頭へ