lisp - 我的 "lisp-pl language"抛出错误

标签 lisp

干杯!我有一个关于我需要用 pl 语言编写的函数契约(Contract)的问题(一个 lisp 贡献)契约(Contract)假设有一个(类型 A 列表)(类型 b 列表)并返回列表列表(类型 A B)同时地 。这是我到目前为止得到的,但它不起作用:

(: zip2 : (All (A B) (Listof A) (Listof B) -> (Listof (list A B))))
(define (zip2 listA listB)
  (cond [(null? listA) (list (null null))]
        [else (list ((car listA) (car listB)))])
  (zip2 ((rest listA) (rest listB))))

(equal? (list (list 1 'a) (list 2 'b) (list 3 'c)) (zip2 (list 1 2 3) (list 'a 'b 'c)))

最佳答案

(define (zip2 listA listB)
 (cond [(null? listA) null]
       [else (cons (list (car listA) (car listB))
                   (zip2 (rest listA) (rest listB)))]))

关于lisp - 我的 "lisp-pl language"抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16963082/

相关文章:

tree - 打开音乐 : L-System tree generation using lisp

LISP In Small Pieces - 运行代码的最佳 LISP 环境?

linux - 如何在终端 lisp 方案解释​​器中导航文本?

list - 在 Lisp 中映射两个字符串列表(以简短的方式)?

python - 您的语言在实践中对 unicode 的支持程度如何?

performance - 使用差分法在 Clojure 中实现序列推理

lisp - 什么时候在Lisp中使用'(或引用)?

lisp - 普通口齿不清 : unable to get the uncompress function in Paul Graham's book working

lisp - 可以接受任何东西作为参数的函数

recursion - 简单的 LISP 代码不会捕获输入错误