我試圖編寫一個謂詞函數,當列表被定義爲拉鍊時返回TRUE。拉鍊被定義爲一個正確的列表,其中每個元素都是一個包含兩個元素的列表,並且可以是任何表達式。計劃拉鍊謂詞函數
是
(zipper? '((a 1)(b 2)))
#t
(zipper? '((a (1)) ((b) 2)))
#t
(zipper? '((a 1 2)(b 1)))
#f
我想首先檢查參數列表已滿,返回false一個例子,然後檢查名單的汽車其元素的長度,並通過列表的CDR回來雖然我的功能,但我很難讓它運行。
(define (zipper? l)
(if (empty? l)
#f
(if (> 1 (length car(l)))
#t
(zipper? (cdr (l))))))
任何想法我做錯了什麼,我該如何解決它?我仍然在學習計劃。
「協會名單」是該數據結構的名稱。 [拉鍊](http://en.wikipedia.org/wiki/Zipper_(data_structure))是一種不同的野獸。 –