Встроенная схема для проверки сдерживания списка

В Python я могу сделать «x в списке», чтобы увидеть, содержит ли список x. Есть ли какой-либо аналог, встроенный в Scheme, для этого?


person Claudiu    schedule 08.12.2009    source источник


Ответы (3)


R5RS и R6RS < href="http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-4.html#node_idx_226" rel="nofollow noreferrer">стандартная библиотека для списков определить memq, memv и member, которые можно использовать для этой цели.

person Jérémie Koenig    schedule 08.12.2009
comment
Это не только в SRFI, но и в R5RS (который реализован во всех приличных реализациях) schemers.org/Documents/Standards/R5RS/HTML/ - person newacct; 09.12.2009
comment
Спасибо за ваш комментарий, я исправил ссылки в ответе. - person Jérémie Koenig; 09.12.2009

В схеме PLT каждый имеет

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

из SRFI, которые используют соответственно equal?, eqv? и eq? для проверки на равенство. Есть также ряд других библиотечных функций, связанных с поиском в списках:

ссылка на список схем PLT

person mqp    schedule 08.12.2009

Нет, нет встроенного предиката списка, который сделает это за вас. Однако очень легко определить лямбду или макрос, чтобы сделать именно это.

person Pablo Santa Cruz    schedule 08.12.2009