欢迎!有关如何工作的更多信息,请参阅关于页面。
有时,如果您能够快速检查局部数据的形式,可能会非常有帮助,比如在一系列转换之后。
这是否可能?
并且是否可以将线程-first/thread-last的(某些)步骤进行规格说明?
作为一个随想,类似于以下内容?
(->> xs ^:xs (map ...) ;; <- attaching spec for output via tag (filter ...) (remove ...)
不,按照您描述的方式目前不可能实现。不过,可以编写一个函数,该函数接受一个规格和值,检查值是否符合规格,然后抛出一个异常或返回,并将此操作放入->>链中,作为另一个线程函数。
->>
可能可以通过使用元数据,以及上文描述的方式创建一个新的宏来实现类似的功能。
这不是一个答案,而是一个相当缺乏想象力的评论...我喜欢线程宏的代数性质。根据如何使它们的意图和影响最清晰,我将形式洗切成线程宏内和外。将任何其他行为附加到线程宏上都会引入复杂性。因为我可以在任何地方、任何时候使一个东西符合规范,但实际上我通常不会,除非我有意识地调试错误,所以我在线程表单中插入一个步骤来完成它,这样即使在展开宏的情况下,行为也应该是相同的。