Page 26 - AutoLISP и Visual LISP в среде AutoCAD
P. 26
(reverse список)
Возвращает список с элементами, переставленными в обратном порядке.
Пример:
(reverse '(1 2 3 4 5)) ;Возвращает (5 4 3 2 1)
(length список)
Возвращает число элементов в списке.
Пример:
(length '(1 2 3 4 5)) ; Возвращает 5
(append выражения)
Объединяет в один список выражения.
Пример:
(append '(A) '(B C) '(D)) ; Возвращает (A B C D)
(cons выражение список)
Добавляет в начало списка новый элемент, который может быть также и
выражением. Если выражение и список являются атомами, то cons образует
конструкцию, известную как "точечная пара". AutoLisp печатает точку
между первым и вторым элементами. Точечные пары занимают меньше
места в памяти, чем обычные списки и можно использовать функцию cdr для
извлечения второго атома.
Пример:
(cons '(A) '(B C D)) ; Возвращает ((A) B C D)
(cons (+ 2 3) '(4 3 2 1)) ; Возвращает (5 4 3 2 1)
(cons 0 "LINE") ; Возвращает (0 . "LINE")
(assoc элемент_списка список)
Извлекает из списка элемент по ключу элемент_списка.
Пример:
(assoc 0 '((0 . "ARC") (5 . "AC3") (67 . 0) (8 . "0")))
; Возвращает (0 . "ARC")
(assoc 5 '((0 . "ARC") (5 . "AC3") (67 . 0) (8 . "0")))
; Возвращает (5 . "AC3")
(assoc 67 '((0 . "ARC") (5 . "AC3") (67 . 0) (8 . "0")))
; Возвращает (67 . 0)
(subst новый_элемент старый_элемент список)
Возвращает копию исходного списка с заменой всех найденных
подсписков старый_элемент на новый_элемент. Если вхождений не
обнаружено, subs возвращает копию старого списка ( не nil).
Пример:
(subst '(8 . "OSI") '(8 . "0") '((0 . "ARC") (67 . 0) (8 . "0")))
; Возвращает ((0 . "ARC") (67 . 0) (8 . "OSI"))
25