由于IBM Developer Works 中有一篇关于 CPS (continuation pass style) 的文章,我试图不使用“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*
}
问题
循环在函数的其余部分结束。
解决办法是什么?