2011-09-28 20 views
5

Según entrada CLHS para la función de intersección (http://www.lispworks.com/documentation/HyperSpec/Body/f_isec_.htm):Común ceceo, comportamiento indefinido de la función de intersección?

Por cada par que satifies la prueba, exactamente uno de los dos elementos de del par será puesto en el resultado.

Mi problema es que necesito saber el que uno de los dos elementos de la pareja será puesto en el resultado, lo que importa cuando, por ejemplo :key #'car se utiliza para extraer los argumentos para poner a prueba en contra, ya el cdr podría ser diferente. Me gustaría tener la garantía de que siempre el primero o siempre el segundo elemento se incluirá en el resultado. ¿Me estoy perdiendo algo o es solo un comportamiento no especificado, así que no debería usarlo para mi caso?

Respuesta

5

intersection simplemente no hace la garantía que desea; implementa una intersección teórica de conjuntos con muchos extras, pero no tan extra. Tendrás que hacer el tuyo.

Cuestiones relacionadas