IBM Developer Works の CPS (継続渡しスタイル) に関する記事のため、「return」を使用しないようにしています。
CPSなし
function getter() {
* calculate a*
return a;
}
function test() {
*part 1*
if(*condition*) {
a = getter();
}
*use a*
*part 2*
}
遷移
関数の残りの部分
}
*use a*
*part 2*
CPS付き
function getter() {
* calculate a*
continuationtest(a);
}
function test() {
*part 1*
if (*condition*) {
getter();
}
function continuationtest(a) {
}
*use a*
*part 2*
}
問題
関数の残りの部分でループが終了します。
解決策は何ですか?