是否可以将扫描作为转换器来实现
Is it possible to implement scan as a transducer
我注意到我查看的各种换能器库(例如换能器js)中缺少scan
。是不可能实现还是我遗漏了什么?
实际上我可以回答自己的问题。我试图以一种功能性的方式来实现它,但我误解了转换器接口的使用方式。从transducer js的源代码来看,它们通常将状态保持在对象中,我可以用同样的方式实现scan
:
var Scan = function( agg, start, xf ){
this.xf = xf;
this.agg = agg;
this.accum = start;
}
Scan.prototype.init = function(){
return this.xf.init();
}
Scan.prototype.result = function(v) {
return this.xf.result(v);
}
Scan.prototype.step = function( result, input ) {
this.accum = this.agg( this.accum, input );
return this.xf.step( result, this.accum );
}
var scan = function(agg, start) {
return function (xf) {
return new Scan(agg, start, xf);
}
}
相关文章:
- 带时区的Javascript Datestring转换器
- 带Js的货币转换器
- Ajax调用OGRE转换器
- JavaScript中的温度转换器(IF ELSE条件)
- 将setTimeout()包装器实现为Element.prototype中的方法
- PDF到JPG的转换器
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 货币转换器未转换
- 显示Aurelia值转换器上的所有过滤器
- AngularJS希伯来文日期转换器
- 带有JSONp的货币转换器
- JS或C#中的货币转换器
- 设置money.js(用于货币转换器)时出现问题
- 创建/使用简单的美制到公制转换器的问题.(HTML/JavaScript)函数未启动
- Backbone.js的Backbone.Modelbinding插件中是否有绑定的转换器参数
- Clojure到JavaScript转换器(Leiningen)
- 如何为温度转换器编写简单的javascript代码.
- JavaScript日期转换器
- ASCII到键码转换器
- 是否可以将扫描作为转换器来实现