はじめる! Squirrel 第8章 高度な話題 その2
- 協調動作
- スレッドとジェネレータ
- ジェネレータは yield 文を含む関数。呼び出すとジェネレータが返る
- yield したらそこで処理が中断される。yield に渡した値がジェネレータの resume から取得できる
- ジェネレータは resume で再開できる
- 最初に走りはじめるのにも resume が必要
- ということは yield の有無は静的に解釈されているので、実際には一度も yield を呼ばないものでもジェネレータになる
function g() { if ( false ) { yield 42; } } local val = g(); // => ジェネレータが返る print (resume val); // => (null : 0x0x0)
中途半端ですが、今年の朝読書はこれで終わりです。
今年は「抽象によるソフトウェア設計」の練習問題にはじまり、「Webを支える技術」「サーバ/インフラを支える技術」「データマイニングの基礎」「はじめる! Cucumber」「はじめる! Squirrel」などを読みました。 Web系と分析の話が多めでしたね。来年も粛々と積読を消化したいと思います。