Решение упражнения 2.26 из SICP

28 January, 2008 (20:44) | Решения упражнений

В этом упражнении рассматриваются три доступные нам на данный момент операции для конструирования списков. Задача упражнения - твердо осознать разницу между этими операциями и применять ту или иную из них именно тогда, когда нужно.

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