【发布时间】:2013-11-12 02:33:04
【问题描述】:
我遇到了一些麻烦。基本上,我需要一个过程comb,它接受两个列表(comb '(a b c) '(1 2 3) 并返回('a 1)('b 2)('c 3)。我想出了返回第一对鳕鱼的一部分
(define some-letters '(a b c))
(define some-nums '(1 2 3))
(define x (first (foldr cons empty some-letters)))
(define y (first (foldr cons empty some-nums)))
(define (comb list1 list2)
(cond
[(empty? list1) empty]
[(empty? list2) empty]
[else (list x y)]))
现在,我稍微修改了一下,并想出了对comb 的定义有点不同:
(define (comb list1 list2)
(cond
[(empty? list1) empty]
[(empty? list2) empty]
[else ((list x y) (zip (rest list1) (rest list2)))]))
但这会返回以下内容:
function call: expected a function after the open parenthesis, but received (list 'a 1)
如果您能提供任何帮助,我将不胜感激。
【问题讨论】: