问题标签 [transducer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
246 浏览

javascript - 是否可以将扫描实现为换能器

我注意到scan我查看过的各种传感器库(例如,transducers-js)中缺少了这一点。是不可能实施还是我错过了什么?

0 投票
2 回答
84 浏览

clojure - 使用传感器创建参考

是否可以ref在 Clojure 中创建带有传感器的 a,类似于chan使用传感器创建 a?

即,当您使用传感器创建 achan时,它会将所有输入过滤/映射到输出中。

我希望还有一种方法可以创建一个ref这样的方法,无论您设置什么,它都可以忽略或修改输入。这可能吗?

0 投票
1 回答
381 浏览

javascript - 使用transducers-js 和 most.js 创建从 Json 到流的管道

我有这个AMD 模块

Main 函数获取项目列表,然后按“类型”属性对它们进行分组。之后,它创建并附加 <li> 元素。最后,它创建了一个点击流。我是反应式编程和转换器的新手。

但我想知道是否有办法创建管道。

我很麻烦,因为 groupby 是一个减少并且不能在转换器中组合它。我确定我错过了一些东西。谢谢

0 投票
1 回答
1034 浏览

clojure - 如何使用传感器从另一个通道创建通道?

我想clojure.core.async从另一个只过滤特定消息的频道创建一个频道。因此,我找到了一个名为 filter< 的函数。

但是该功能及其朋友被标记为已弃用:

已弃用 - 此功能将被删除。改用换能器

有一些方法可以像参数一样chan使用带有传感器的通道。xform如何使用传感器从现有通道构建新通道?

0 投票
1 回答
154 浏览

python - 将 SFST 与 python 链接?

我在自然语言处理项目中使用了 SFST 语言。如何将 SFST 链接或导入我的 python 代码?

我提到的一些链接:

http://home.gna.org/pysfst/tests/intro.html ftp://ftp.ims.uni-stuttgart.de/pub/corpora/SFST/SFST-Manual.pdf

第一个链接中的命令不起作用,并且未设置 sfst。

0 投票
1 回答
1690 浏览

clojure - Clojure 传感器行为

有了新的 clojure 1.7,我决定了解在哪里可以使用传感器。我了解它们可以带来什么好处,但是我找不到编写带有解释的自定义换能器的正常示例。

好的,我试图测试发生了什么。我打开了 clojure 文档。还有一些例子xf用作论据。第一:这个 xf 或 xfrom 是什么意思?这个东西产生了身份传感器。

[result input]我从文档示例中获取了变量的命名。我认为这就像在减少功能中result减少部分并且input是新的集合元素。

所以当我做的时候,(transduce my-identity + (range 5))我得到10了我所期待的结果。然后我读到了eduction,但我不明白它是什么。无论如何,我做了(eduction my-identity (range 5))并得到:

xf因为我在println声明中调用,所以每个项目都重复了。为什么它将每个项目重复两次?为什么我是零?进行推理时我总是会得到 nil 吗?我可以转发这种行为吗?

反正我做到了

好的,结果是Eduction不可约的,但像列表一样打印。为什么不能还原?当我打字时(doc eduction),我明白了

不应该(transduce xform f coll)(reduce f (eduction xfrom coll))一样吗?

我做了

当然我是20因为重复。我再次认为应该是这样,(transduce xform f coll)并且(reduce f (sequence xfrom coll))至少在没有任何有状态转换器的小例子中总是相等的。这是愚蠢的,他们不是,还是我错了?

好的,然后我尝试(type (sequence my-identity (range 5)))获取 clojure.lang.LazySeq 我认为它很懒,但是当我尝试获取first元素时,clojure 一次计算了所有序列。

所以我的总结:

1) xf 或 xform 是什么意思?

2)为什么我得到nil作为result论点 while eductionor sequence

3)我可以始终确定它会是nilwhileeduction还是sequence

4) 什么是eduction不可还原的惯用想法,什么是惯用的想法?或者如果是,那么我该如何减少它?

sequence5) 为什么我在or时会出现副作用eduction

6) 我可以用传感器创建实际的惰性序列吗?

0 投票
2 回答
1029 浏览

clojure - 推导与换能器组成

有什么区别:

我已经阅读了教育文档,但不理解教育的目的。

0 投票
1 回答
99 浏览

clojure - 转换原子的成语?

将传感器应用于原子值的惯用方式是什么?

这似乎可以完成这项工作,但我不确定正确性(和风格^^)。

0 投票
1 回答
147 浏览

java - 在 GATE 中解析字体样式或段落块

我有一个word文档。我需要使用 GATE 匹配特定的表格部分或标题部分。我想如果有任何步骤,我们可以首先检查标题的任何字体大小或字体样式,然后匹配其余内容,直到下一个标题模式重复。

0 投票
1 回答
316 浏览

clojure - Clojure - 当`comp`从右到左时,这是如何工作的?

for 的文档comp说明它从最右边的函数开始,将参数应用于它,然后将结果提供给下一个函数,依此类推。因此,这里的数字首先相加,然后str应用于整数 16:

此代码来自core.async 网络研讨会中的示例 7 :

这里的鼠标事件流是参数。它们首先被转换成一对(元组 2 向量),然后这些对被过滤。该map函数(恰好是一个转换器)需要在filter函数之前接收鼠标事件,显然这就是实际发生的事情,因为这段代码有效。那么为什么第一个操作(map函数)不是最右边的函数参数comp呢?

回答在 25:30 的视频中,Rich Hickey 说“传感器损坏comp或类似的东西”——然后他解释了这个问题。谢谢@nblumoe