参数覆盖在方案/球拍中不起作用

时间:2015-08-24 20:51:20

标签: recursion scheme racket

我对Racket / Scheme几乎是新手。我知道基本的语法 我编写了一个用list2做list1的笛卡尔积的程序。我使用Dr Racket调试了程序。似乎当l2变为null时,程序不会用原始列表替换l2,即ol2(我正在尝试这样做)。
我无法弄清楚为什么会这样。

 (define product   (lambda (ol2 l1 l2)  
     (cond  
       [(and (null? l1) (null? l2)) '()]  
       [(null? l2) (product ol2 (rest l1) ol2)]  
       [else (cons (list (first l1) (first l2)) (product ol2 l1 (rest l2)))])))  

0 个答案:

没有答案