(define *graph* (read (open-input-file "test.sxml")))
(define get
(lambda (l)
(cond ((null? l) '())
((equal? 'opm:artifacts (car l)) l)
(else (get (cdr l))))))
(get *graph*)
我有這個遞歸函數遍歷列表並返回以「opm:artifacts」開頭的列表的其餘部分。通過列表檢索其他列表
它適用於其他列表。 例如,它適用於列表(1 2 3 4)
;當我呼叫該功能時, (get 2)
返回(2 3 4)
。
test.sxml
是一個表。我用list?
進行了檢查。
請檢查您的事實。您的演示文稿不一致。 '(get 2)'肯定不適用於你顯示的定義。 – Svante 2010-11-01 20:55:18