0
我正在分配任务,我们必须根据谓词(甚至?)分割一个列表。 实施例: (过滤SPS甚至 '(1 2 3 4 5 6 7 8 9 10)'()?)有人可以解释球拍的商店传球风格吗?
输出: (2 4 6 8 10) (1 3 5 7 9)
我无法生成2个单独的列表。
我正在分配任务,我们必须根据谓词(甚至?)分割一个列表。 实施例: (过滤SPS甚至 '(1 2 3 4 5 6 7 8 9 10)'()?)有人可以解释球拍的商店传球风格吗?
输出: (2 4 6 8 10) (1 3 5 7 9)
我无法生成2个单独的列表。
你可以简单地过滤两次:
(define lst '(1 2 3 4 5 6 7 8 9 10))
(define odd? (lambda (n)
(not (even? n)))) ; in case you don't have odd
(cons (filter-sps even? lst)
(filter-sps odd? lst))
遍历同一个列表两次是一种浪费,如果列表很长,但是对于你的例子实在是微不足道
还有一堆不同的方式来做这个。尽管如此,我并不一定选择商店传球作为最直接的方式。 我敢打赌,这是针对一个班级的,如果我们试图在没有更多了解班级背景的情况下回答问题,我们将不会以正确的方式指导您。所以:你可以多说一点关于这个问题的要求吗? –
也可能值得一提的是,商店传递式就是这样一种风格。对于Racket而言,没有任何特定的存储通过;你可以用任何语言来做。它只是一种编程风格,而不是在数据结构上执行突变,将内存表示作为未来函数调用的参数传递(并返回它)。 –