我正在尝试使用循环宏过滤列表。如果我做
(loop for x in (list 1 2 3 4) collect x)
我刚回到同一个列表,这是有道理的。但是,我想做一些像
这样的事情(loop for x in (list 1 2 3 4) collect x if (evenp x))
并取回(2 4)
,但这不合法。出于某种原因,我无法在其他文档中找到适当的语法。这可能吗?
答案 0 :(得分:6)
正确的语法是
(loop for x in (list ...) when (evenp x) collect x)