- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用两个优秀的库:js-csp和 transducers.js试图围绕它们(和发电机)。
我认为我对使用 channel 有很好的理解,但是当我决定对它们应用传感器(我还不太了解)时,我似乎无法让它发挥作用。甚至这些例子都不适合我。
我使用的特定 transducer.js 文件是 this one ,对于 js-csp,我自己编译了(它在许多其他实验中运行良好)。基本上我用这个编译了一个文件:
import csp from 'js-csp';
window.csp = csp;
使用 browserify v.9.0.3 和 babel v.5.0.8。
下面是一些我希望可以使用的示例代码:
// Make transducer
var xAdd10 = transducers.map(function (x) {
return x + 10;
});
// Make a channel, using the transducer
var ch = csp.chan(2, xAdd10);
// Put a number in the channel
csp.putAsync(ch, 1); // This throws an error
我错过了什么?对我来说,这与 js-csp here 文档中的内容基本相同。 , 和换能器 here (倒数第二个要点)。
csp 库非常有用,可以通过堆栈跟踪抛出错误。看起来像这样:
error in channel transformer TypeError: xform.@@transducer/step is not a function
at Object.@@transducer/step (file:///Users/g/code/learning/generators-csp/js/lib/csp.js:1511:44)
at Channel._put (file:///Users/g/code/learning/generators-csp/js/lib/csp.js:1288:57)
at put_then_callback (file:///Users/g/code/learning/generators-csp/js/lib/csp.js:1652:24)
at file:///Users/g/code/learning/generators-csp/js/12-transducers-1.js:21:10
我做错了什么?一个工作示例(尽可能简单)也会非常有帮助。
一切都可以在我的github上找到,here .具体跟上面的代码一样,here ,可以找到 csp 和换能器 in the js/lib folder .
最佳答案
To me this is essentially the same as what can be found in the documentation for js-csp here, and for transducers here (2nd to last bullet point).
是的,这就是它的记录方式,也是它应该如何工作的方式。会工作。
问题是您使用的是旧版本的 transducers.js。正在关注this discussion , transducer protocol method names were changed from .step
to .@@transducer/step
等等。对于 3.0 版,transducer.js did incorporate this ,但是 /dist/transducers.js
file您复制到存储库中的那个没有更新。相比之下,您使用的 js-csp 确实依赖于新协议(protocol) - 并抛出预期方法不存在的错误。
因此,如果您手动构建最新版本的 transducers.js,它将起作用。我也filed a bug :-)
关于javascript - 在 js-csp 中使用 transducer.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747951/
Paul Chiusano和 Rúnar Óli写了一本很棒的书 Functional programming in Scala .他们在其中提到了 Scala 社区中一个很少被引用的概念 - Tra
关于如何使用 transduce 的任何想法来自 Ramda.js,使其无需对数据进行中间转换((2x 过滤,1x 排序))进行优化。 import { curry, tap, pipe, filte
我已经尝试阅读此内容,但我仍然不明白它们的值(value)或它们取代的内容。它们会让我的代码更短、更容易理解吗? 更新 很多人都发布了答案,但很高兴看到有和没有传感器的例子,这些例子非常简单,即使是像
我试图了解 RNN Transducer 如何使用地面实况标签进行训练。就 CTC 而言,我知道该模型是使用损失函数进行训练的,该函数总结了地面真实标签所有可能对齐的所有分数。 但在 RNN-T 中,
我想解析一个大的 json 文件 (3GB) 并返回该文件中每一行的 HashMap 。我的直觉是使用转换器逐行处理文件,并用一些选定的字段(> 文件中字节的 5%)构造一个向量。 但是,以下代码会抛
RxJS v4 曾经有一个 Observable.transduce采用换能器的方法。这允许使用在过去具有重大性能优势的独立于库的传感器运算符。 来源 https://github.com/React
我正在使用两个优秀的库:js-csp和 transducers.js试图围绕它们(和发电机)。 我认为我对使用 channel 有很好的理解,但是当我决定对它们应用传感器(我还不太了解)时,我似乎无法
我正在尝试练习在 swift 中编写转换器,但我无法成功地将此功能性 javascript 代码转换为 swift。 http://phuu.net/2014/08/31/csp-and-transd
我正在努力了解 Clojure 中用于并行计算的所有不同抽象。在阅读主题时,我会迷失在冗长文章的所有细节中。 我正在寻找一个简短的答案 为什么我们需要不同的图书馆和 何时使用和何时不使用特定库。 到目
我是一名优秀的程序员,十分优秀!