REBOL 没有执行列表推导式的内置方法。然而,REBOL 有一个强大的工具(称为 parse
),可用于创建域特定语言 (DSL)。我用过 parse
为列表推导创建这样一个迷你 DSL。为了解释表达式,包含推导式的块被传递给一个函数,由于缺乏更好的术语,我称之为 comprehend
.
示例:
comprehend [(a * b) for a in 1x100 for b in 4x10 where (all [odd? a odd? b])]
出于某种原因,
comprehend
对我来说听起来不正确,但类似于 eval
太笼统了。我还没有找到任何其他需要关键字或函数来进行列表推导的语言。无论它们存在于何处,它们都是纯粹的语法糖。不幸的是,我没有那个选项。那么,看到我必须有一个函数,它的一个好的、简洁的、合乎逻辑的名称是什么?
最佳答案
怎么样select
?select [(a * b) for a in 1x100 for b in 4x10 where (all [odd? a odd? b])]
关于list-comprehension - 我应该怎么称呼一个列出推导式的 REBOL 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204040/