我有一个可能包含一些空值的列表。但是,我打算忽略那些空值。我的清单示例是:
(() () MC+ () MD- () () ME+)
在我的过程中,我遍历这些元素并使用 let 创建一个本地绑定变量,该变量绑定到此列表中的一个元素。但是,只有当值不为空时,我才应该能够绑定变量。目前,我正在这样做:
(let* ([disjunct (car disjunct-list)])
但是,只有当该元素不为空时,才应为 disjunct 分配一个值。这意味着分配给 disjunct 的值应该是:MC+
它应该遍历所有值并选择下一个非空值并将其分配给disjunct
.
还有一件事,我正在做进一步disjunct
的操作。并且递归地,我将列表的其余部分向下传递。所以下次我递归调用这个过程时,disjunct
应该有值MD-
。那就是使用(cdr disjunct-list)
我应该能够得到以下列表:(() MD- () () ME+)
如何才能做到这一点?