Scala传感器和Clojure传感器有什么相似之处和不同之处?
Paul Chiusano和
Rúnar óli写了一本很棒的书
Functional programming in Scala.在它中他们提到了Scala社区中一个有点引用的概念 – Transducers.
在Clojure社区 – Transducers获得little more press. 我的问题是:Scala Transducers **(来自Scala中的功能编程一书)和Clojure Transducers之间有什么相似之处和不同之处?** 假设: 我知道 >传感器是their concept in Electrical Engineering的常用说法 解决方法
我并不是特别熟悉Scala的传感器概念或术语无处不在,但是从上面发布的文本片段(以及我对传感器的了解),我可以这么说:
>他们非常不同 关于Scala传感器我能说些什么: 从上面的定义看来,任何函数或者可以用大致沿着符号线的签名来调用 Stream[A] -> Stream[B] 因此,例如,在这种情况下,工作流的映射函数将被视为传感器. 而已;非常简单. Clojure传感器: A Clojure transducer是将一个缩小功能转换为另一个缩小功能的功能.减少函数是可以与reduce一起使用的函数.也就是说,如果Clojure有签名,它将有一个签名 (x,a) -> x 在英语中,给定一些起始集合x,并且集合中的“下一个东西”a被减少,我们的reduce函数返回“正在构建的集合的下一个迭代”. 因此,如果这是减少功能的标志,则换能器具有签名 ((x,a) -> x) -> ((x,b) -> x) 将传感器添加到Clojure的原因是,通过添加或 那么这些事情如何相关呢? 显然,这些是非常不同的概念,但这里我看到它们的相关性: 虽然Scala传感器是Streams的集合处理函数(与其他Scala集合相似),但Clojure的传感器实际上是一种统一不同集合类型的集合处理函数实现的机制.因此,如果Scala有Clojure的传感器概念,Scala的传感器概念可以用Clojure的传感器概念来实现,这是一种更抽象/通用的处理函数可重用于多种集合类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |