2013-07-29 63 views
1

我在處理球拍醫生錯誤的麻煩:即團聚2所列出博士球拍團聚2列表

(define (reunite L1 L2) 
(foldr (λ(e init) 
(if (member e init) init (cons e init))) 
    null 
(append L1 L2) 
)) 

的錯誤是一個功能: 初始化:非法的(加括號)使用class關鍵字in:init

λ是什麼意思? 如果我消除它會拋出同樣的錯誤。你能幫我嗎?

回答

1

我相信這是你瞄準:

(define (reunite L1 L2) 
    (foldr (lambda (e init) 
      (if (member e init) 
       init 
       (cons e init))) 
     null 
     (append L1 L2))) 

λ字符是λ,避免編碼問題,它的安全只寫lambda代替。作爲一個側面說明 - 書面的reunite過程實際上是兩個表之間的union操作,並能以更簡單的方式實現如下:

(define (reunite L1 L2) 
    (foldr (lambda (e init) 
      (if (member e init) 
       init 
       (cons e init))) 
     L2 
     L1)) 
+0

太謝謝你了... – Mougart