Comencé a aprender Scheme, principalmente por diversión, y porque nunca antes había usado un lenguaje funcional. Elegí Scheme porque quería leer SICP durante mucho tiempo.¿Por qué el uso de contras para crear un par de dos listas produce una lista y dos elementos?
De todos modos, actualmente estoy aprendiendo sobre listas, y antes de eso aprendí sobre contras, coche y cdr. Y hay un ejemplo que crea una lista de listas con los contras, así:
(cons (list 1 2) (list 3 4))
La lista resultante es ((1 2) 3 4), lo cual no tiene sentido para mí, yo esperaría que ((1 2) (3 4)) para ser el resultado (una lista hecha de dos listas). ¿Por qué se comporta así? Me doy cuenta de que si tuviera que usar un automóvil, obtendría (1 2) y obtendría cdr (3 4) porque cdr siempre devuelve "el resto", pero no entiendo por qué la lista no está hecha. de dos listas?
Esta pregunta es ligeramente diferente, pero las respuestas responden exactamente a su pregunta: http://stackoverflow.com/questions/2921912/in-sicp-exercise-2-26-using-drscheme-why-does-cons-return -a-list-instead-of-ap –
¿por qué haría una lista con CONS cuando hizo una lista con LIST? ¿Por qué no seguir utilizando LIST para hacer listas? CONS no hace lo mismo que LISTAR - por eso también son funciones diferentes. –
Fue un ejercicio en SICP – fingerprint211b