问题描述
我试图更好地理解延续性和延续性传递风格。它们应该适合编写生成器,迭代器,协程等。
我知道Javascript已经内置了生成器,但是我认为以连续传递样式手动构建生成器将是一个不错的练习。 This blog post包含一些遍历数组的代码示例,
function logArray(arr) {
forEachcps(arr,function (elem,index,next) { // (*)
console.log(elem);
next();
},function () {
console.log("### Done");
});
}
function forEachcps(arr,visitor,done) { // (**)
forEachcpsRec(0,arr,done)
}
function forEachcpsRec(index,done) {
if (index < arr.length) {
visitor(arr[index],function () {
forEachcpsRec(index+1,done);
});
} else {
done();
}
}
但是我希望使用无限列表类型生成器,而不是遍历固定数组的生成器。我还希望调用者可以控制数字的获取频率(这是迭代器和生成器之间的区别,对吗?)。可以用Java语言完成吗? (或者,如果不是,那么用这种语言做的一种好语言是什么?只有Scheme吗?)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)