ちまたでは、なにやらフィボナッチ数列が流行っているようなのですが、フィボナッチ数列といえば、以前、Lua について触れたときに、資料で見かけたコルーチンを使ったフィボナッチ数列が印象深かったのに、まだそれを Squeak の Smalltalk で書いていなかったな…と思い出したのでさっそく書いてみました(Continuations のインストール が必要です)。 | continue suspend resume fibGen next | suspend := nil. " for compiler " resume := [:val | [:cont | continue := cont. suspend value: val] callCC]. fibGen := [:aa :bb | [resume value: aa. aa := bb flag: (bb := aa + bb