(eduction ..)在REPL中调用返回看起来像序列的东西(即" (1 2 3)"之类的东西).但是如果你检查这个返回值是否是一个序列(通过seq?),你得到false.
问题: Eduction究竟是什么?它只是一个值列表,将逐个送入减少函数吗?
根据传感器的文档:
要捕获将传感器应用于coll的过程,请使用eduction功能.它需要任意数量的xforms和最终的coll,并将传感器的可简化/可迭代应用程序返回到coll中的项目.每次调用reduce/iterator时都会执行这些应用程序.
因此,它是将传感器应用于集合的抽象,该集合产生可还原/可迭代的东西.你可能想知道有什么区别:
因为他们将在每次缩减/迭代时使用所提供的集合应用换能器,它们与seq的语义不同.