Решение упражнения 2.26 из SICP
В этом упражнении рассматриваются три доступные нам на данный момент операции для конструирования списков. Задача упражнения - твердо осознать разницу между этими операциями и применять ту или иную из них именно тогда, когда нужно.
append объединяет элементы списков в один список, приписывая второй список позади первого:
(1 2 3 4 5 6)
cons возвращает список, состоящий из элементов второго списка в начало которого добавлен первый список как один элемент:
((1 2 3) 4 5 6)
list строит новый список из двух элементов, первый из которых является первым исходным списком, а второй - вторым:
((1 2 3) (4 5 6))
Очень рекомендую изобразить рядом два исходных списка с помощью стрелочных диаграмм и, дорисовав еще по одной паре для каждого случая, получить результаты применения append, cons и list.
Write a comment