SSブログ

コルーチン [Lua]

PiL の coroutine の章を読んだ。

今まで親しんできた言語でコルーチンをフィーチャーした言語は殆どなかった(Python の generator は使ったことない)ので、ちゃんと勉強するのは初めてだ。

すごいと思ったのは、例えば "Higher Order Perl" には "From Recursion to Iterators" という章があって、再帰を使ったアルゴリズムをイテレータに置き換える方法についてかなりのページを割いて説明している―それにはまあちょっとした頭の体操を要する―のだが、コルーチンを使うと「アルゴリズムは再帰のままで」結果を yield するだけでイテレータが作れる。これはあっけなくてすごい。

コルーチンの機能は一見言語自体の直接サポートがないと難しそうにも見えるけどウェブを検索してみるとコルーチンのない言語でコルーチンを実現するような工夫をしているのが無いわけでもないらしい。実現のための言語の要件が何ということがあまりよく理解できていない。要調査。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。