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
太笼统了.
我还没有找到任何其他需要关键字或函数用于列表推导的语言.无论它们存在,它们都是纯粹的语法糖.不幸的是我没有这个选择.所以,看到我必须有一个功能,它的优点,简洁,合乎逻辑的名称是什么?