javascript - Streamjs和linqjs有什么关系

标签 javascript linq stream relationship sicp

读完SICP,我最近发现streamjs 。开发者引用linqjs作为具有不同语法的替代实现,但我无法建立连接。 Streamjs 中的方法如何映射到 linqjs 中的方法?

最佳答案

我没有使用过这两个库,但是,这是我的初步分析(我读过相当多的 SICP,但不可否认不是全部)。

stream.js 是列表的函数式数据结构的实现。函数式语言中的许多数据结构往往是递归的,很像Stream结构。它由头元素和尾部(后续元素)的 Stream 组成。在这里,可以通过允许尾部为函数(即无限序列)来实现惰性求值。

现在,为了回答您的问题,linq.js 提供的所有函数都应该能够使用其他常见的高阶函数(例如 map、reduce、walk、fold 等)进行定义。

当然,stream.js 没有实现 linq.js 中的 Any() 方法,但您可以使用 reduce().

关于javascript - Streamjs和linqjs有什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630368/

相关文章:

javascript - : redundant HTML layouts, 和不必要的 JavaScript 执行哪个更可取?

javascript - 未捕获的 DOMException : Failed to read the 'rules' property from 'CSSStyleSheet'

javascript - 如果 else 和 href 以问题 JQuery 结尾

sql - 为什么我在 SQL Server 中看到的默认字段没有反射(reflect)在 LINQ 中

java - 通过终止程序关闭流 - 常见做法?

javascript - Image Resizer - 将图像拖到 div 中的问题

c# - LinQ 选择一个以列表作为参数的对象

c# - 在函数中使用 LINQ

c# - 如何根据当前服务器找到最适合读取或写入 Stream 的缓冲区大小

javascript - Node.js 如何将 gzip 流通过管道传输到 writestream