Параметрические изображения объектов проектирования на основе использования языка АВТОЛИСП в среде АВТОКАД. Притыкин Ф.Н. - 47 стр.

UptoLike

Составители: 

47
4. ФУНКЦИИ, УПРАВЛЯЮЩИЕ СПИСКАМИ
И ОБЕСПЕЧИВАЮЩИЕ ДОСТУП К ПРИМИТИВАМ.
СТРОКОВЫЕ ФУНКЦИИ
4.1. Функции управления списками
Под управлением списками будем понимать их создание, изменение,
их анализ и т. п. Управление осуществляется при помощи специальных
функций. Наиболее часто применяют следующие функции:
(atom <элемент списка>) возвращает nil, если элемент являете
списком, в противном случае Т;
(assoc <элемент списка> <структурированный список>) позво-
ляет устанавливать наличие <элемента списка> в <структурированном
списке>. Если данный элемент присутствует, то функция возвращает
подсписок с этим элементом. Если <элемента списка> нет, то функция
возвращает nil.
Пример: пусть (setq spisok '((x 20) (у 30) (z 40))) список, состоя-
щий из переменных х, у, z и их значений. Тогда
(assoc 'у spisok) возвращает (у 30). Эта функция, совместно с
функцией subst (см. ниже), удобна для замены величин, которые отыски-
ваются в <структурированных списках> по заданному ключу с помо-
щью <элемента списка>;
(subst <новый элемент> <старый элемент> <список>) исполь-
зуют для просмотра заданного списка, с целью замены встречающихся
<старых элементов> на <новые элементы>. Если <старых элемен-
тов> в <списке> нет, то функция исходный список не изменяет.
Пример: пусть задан список (setq spisok '(а (b 90) (с 40) (d a)). Требует-
ся внести изменение в список spisok элемент d заменить новым элемен-
том р. Тогда
(subst 'p 'd spisok) возвращает новый список (a (h 90) (c 40) (p a)).
Для замены элемента b списка spisok элементом d соответственно необ-
ходима следующая запись функции:
(subst 'd 'b spisok) возвращает новый список (a (d 90) (c 40) (d a));
           4. ФУНКЦИИ, УПРАВЛЯЮЩИЕ СПИСКАМИ
        И ОБЕСПЕЧИВАЮЩИЕ ДОСТУП К ПРИМИТИВАМ.
                   СТРОКОВЫЕ ФУНКЦИИ

                4.1. Функции управления списками

    Под управлением списками будем понимать их создание, изменение,
их анализ и т. п. Управление осуществляется при помощи специальных
функций. Наиболее часто применяют следующие функции:
    • (atom <элемент списка>) возвращает nil, если элемент являете
списком, в противном случае Т;
     • (assoc <элемент списка> <структурированный список>) позво-
ляет устанавливать наличие <элемента списка> в <структурированном
списке>. Если данный элемент присутствует, то функция возвращает
подсписок с этим элементом. Если <элемента списка> нет, то функция
возвращает nil.
    Пример: пусть (setq spisok '((x 20) (у 30) (z 40))) − список, состоя-
щий из переменных х, у, z и их значений. Тогда
    (assoc 'у spisok) − возвращает (у 30). Эта функция, совместно с
функцией subst (см. ниже), удобна для замены величин, которые отыски-
ваются в <структурированных списках> по заданному ключу с помо-
щью <элемента списка>;
    • (subst <новый элемент> <старый элемент> <список>) исполь-
зуют для просмотра заданного списка, с целью замены встречающихся
<старых элементов> на <новые элементы>. Если <старых элемен-
тов> в <списке> нет, то функция исходный список не изменяет.
Пример: пусть задан список (setq spisok '(а (b 90) (с 40) (d a)). Требует-
ся внести изменение в список spisok элемент d заменить новым элемен-
том р. Тогда
(subst 'p 'd spisok) − возвращает новый список (a (h 90) (c 40) (p a)).
Для замены элемента b списка spisok элементом d соответственно необ-
ходима следующая запись функции:
(subst 'd 'b spisok) − возвращает новый список (a (d 90) (c 40) (d a));



                                   47