2009-12-08 47 views

回答

6

R5RS和R6RS standard library for lists 限定memqmemvmember 可以用於該目的。

+0

這不只是在SRFI,而且在R5RS(被所有體面實現來實現)的http:/ /schemers.org/Documents/Standards/R5RS/HTML/r5rs-ZH-9.html#%_idx_428 – newacct 2009-12-09 05:54:15

+0

感謝您的評論,我已更正了答案中的參考資料。 – 2009-12-09 17:56:53

0

不,沒有列表內置謂詞會爲你做。定義一個lambda或宏來做到這一點非常容易。

+1

耶只是惱人 – Claudiu 2009-12-08 19:14:03

4
(define (contains? l i) 
    (if (empty? l) #f 
     (or (eq? (first l) i) (contains? (rest l) i)))) 
6

在PLT方案中,一個具有

(member whatever list) 
(memv whatever list) 
(memq whatever list) 

從其中分別使用,則SRFI,equal?eqv?,和eq?測試相等。也有一些與在列表中進行搜索其他的庫函數:

PLT Scheme list reference