Среда программирования на AutoLISP в графической системе AutoCAD (Справочник), страница 8

(append <выражение>...)

осуществляет конкатенацию любого количества списков (<выражений>) в один список. Функция APPEND требует, чтобы аргументы были списками.

(length <список>)

возвращает целое число, равное числу элементов в <списке>.

(reverse <список>)

возвращает <список> с элементами, расставленными в обратном порядке.

(last <список>)

возвращает последний элемент списка. <Список> не должен быть равен nil.

(nth <n> <список>)

возвращает n-ый элемент <списка>, где <n> - номер элемента (нуль - первый элемент). Если <n> больше номера последнего элемента <списка>, возвращается nil.

(assoc <элемент списка> <структурированный список>)

просматривает <структурированный список> по ключу <элемент списка> и возвращает точку входа <структурированного списка>. Если <элемент списка>не найден, ASSOC возвращает nil.

Структурированные списки часто используются для хранения данных, к которым можно иметь доступ по ключу. Функция SUBST (см. ниже), обеспечивает замену элемента, найденного по ключу в структурированном списке.

(member <выражение> <список>)

осуществляет поиск в <списке> элемент <выражение> и возвращает часть <списка>, начинающуюся с первого найденного <выражения>. Если в <списке> нет <выражения>, функция MEMBER возвращает nil.

(subst <новый элемент> <старый элемент> <список>)

осуществляет поиск в <списке> <старых элементов> и возвращает копию <списка> с заменой каждого встречного <старого элемента> на <новый элемент>. Если в <списке> не найден <старый элемент>, функция SUBST возвращает <список> неизвестным. В сочетании с функцией ASSOC, SUBST обеспечивает способ замены величины, найденному по ключу в структурированном списке.

3.10. Функции работы с файлами

(findfile <имя -файла>)

осуществляет поиск файла <имя -файла> в каталогах AutoCAD и возвращает полное имя файла или nil, если файл не найден. Если в имени файла указано устройство, то файл пишется только в указанный каталог.

(open <имя файла> <режим>)

открывает файл для доступа функций Ввода/Вывода AutoLISP. Функция  OPEN возвращает описатель файла для использования другими функциями, поэтому она должна присваиваться символу функцией SETQ. Атрибут <режим> - флаг чтения/записи (строковая константа, состоящая из одной буквы, набранной на нижнем регистре).

Допустимые значения режима:

“ r ”          Открыть для чтения. Если <имя файла> не существует, возвращается nil.

“ w ”        Открыть для записи. Если <имя файла> не существует, создаётся и открывается новый файл. Если <имя файла> уже существует, находящиеся в нём данные будут перезаписаны.

“ а ”       Открыть для добавления. Если <имя файла> не существует, создаётся и открывается новый файл. Если <имя файла> уже существует, файл будет открыт таким образом, что любые новые данные будут записываться в файл вслед за уже существующими.

(read-char [<описатель файла>] )

считывает единичный символ из буфера ввода клавиатуры или из открытого файла, задаваемого <описатель файла>. Возвращает АSCII -код (целое) считываемого символа.

Если не задан <описатель файла> и буфере ввода клавиатуры нет символов, READ-CHAR ждёт от пользователя ввода чего-либо с клавиатуры, заканчивающееся RETURN.

(read-line [<описатель файла>])

считывает строку символов с клавиатуры или из открытого файла, заданного <описателем файла>. Функция READ-LINE возвращает считанное строковое значение. Если чтение невозможно, то возвращается nil.

(prin1 [<выражение> [<описатель файла>]])

выводит <выражение> на экран и возвращает <выражение>. Атрибут <выражение> может быть любым выражением. При этом не требуется, чтобы оно было строковой константой. Если присутствует <описатель файла>, то <выражение> записывается в файл в то время, когда оно появляется на экране. Печатается только указанное <выражение>; пробелы и переходы на новую строку не включаются.