adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Эта функция - средство отладки. Она устанавливает знак трассировки
для заданных <функций> и возвращает имя последней функции. В то время
как функция выполняется, на экране появляется точка входа в функцию (с
отступлением на глубину вложенности функции) и печатается результат
функции. Hапример:
(trase my-func) возвращает MY-FUNC
и устанавливает символ трассировки для функции MY-FUNC. Cмотрите также
функцию UNTRACE.
4.115 (type <элемент>)
Эта функция возвращает TYPE (тип) <элемента>, где TYPE - одно из
следующих значений (как атом):
REAL числа с плавающей запятой
FILE описатель файлов
STR строковые константы
INT целые величины
SYM символы
LIST списки (и функции пользователя)
SUBR внутренние функции AutoLISP
PITCKSET наборы AutoCAD
ENAME имена примитивов AutoCAD
PAGETB таблица диспетчера страниц
Hапример, дано:
(setq a 123 r 3.45 s "Hello!" x '(a b c))
(setq f (open "name" "r"))
тогда:
(type 'a) возвращает SYM
(type a) возвращает INT
(type f) возвращает FILE
(type r) возвращает REAL
(type s) возвращает STR
(type x) возвращает LIST
(type +) возвращает SUBR
- 64 -
Руководство пользователя по АВТОЛИСПу
Следующий пример иллюстрирует использование функции TYPE.
(defun isint (a)
(if (= (type a) 'INT) ; является ли тип целым?
Т ; если да - верни Т
nil ; если нет - верни nil
)
)
4.116 (untrace <функция>...)
Эта функция убирает символ трассирования для указанных функций и
возаращает имя последней функции. Она выборочно исключает пошаговое
трассирование. Hампример:
(untrace my-func) возвращает MY-FUNC
и убирает символ трассировки для функции MY-FUNC. Смотрите также TRACE.
4.117 (ver)
Эта функция возвращает строковую константу, которая является номером
текущей версии AutoLISP. Она может быть использована (совместно с
функцией EQUAL для контроля совместимости программ). Форма строки:
"AutoLISP Release X.X"
где Х.Х - номер текущей версии. Hапример:
(ver) возможный возврат "AutoLISP Release 9.0"
4.118 (while <тест-выражение> <выражение>...)
Эта функция вычисляет <тест-выражение> и, если оно не является nil,
вычисляет другие выражения, затем снова проверяет <тест-выражение>. Это
продолжается до тех пор, пока <тест-выражение> не nil. Затем WHILE
возвращает самое позднее значение последнего <выражения>. Hапример, дано:
(setq a 1)
тогда:
(while (<= a 10)
(some-func a)
(setq a (1+ a))
)
будет вызвана функция пользователя SOME-FUNC десять раз, с А равным от
1 до 10. Будет затем возвращено 11, что является значением последнего
выражения.
4.119 (write-char <число> [<описатель файла>])
Эта функция записывает один символ на экран или в открытый файл,
заданный <описателем файла>. <число>) - это код ASII символа, и является
- 65 -
Руководство пользователя по АВТОЛИСПу
значением возвращаемым функцией. Hапример:
(write-char 67) возвращает 67
и записывает латинскую букву С на экране. Предположим, что F - описатель
открытого файла:
(write-char 67 f) возвращает 67
и записывает латинскую букву С в этот файл.
lsp-4-12
4.120 ((write-line <строка> [<описатель файла>])
Эта функция записываект строковую константу <строка> на экране или в
открытый файл, заданный <описателем файла>. Она возвращает <строку>,
взятую в кавычки, и опускает кавычки когда записывается в файл. Hапример,
предположим, что F это допустимый описатель открытого файла:
(write-line "Test" f) записывает Test и возвращает "Test".
4.121 (zerop <элемент>)
Эта функция возвращает T, если <элемент> действительное или целое
число, равное нулю, иначе возвращает nil. Она не определенадля других
типов <элементов>. Hапример:
(zerop 0) возвращает Т
(zerop 0.0) возвращает Т
(zerop 0.0001) возвращает nil
4.122 (*error* <строка>)
Это, определяемая пользователем функция, трактующая ошибки. Если она
не nil, она выполняется как функция всякий раз, когда присутствует
проверка ошибок AutoLISP. Она выдает один аргумент - строку, состоящую
из описания ошибки.
Hапример:
(defun *error* (msg)
(princ "error:")
(princ msg)
(terpri)
)
Эта функция будет делать тоже самое, что и стандартная функция
трактовки ошибок AutoLISP - печать "error:" и описание.
- 66 -
Руководство пользователя по АВТОЛИСПу
Глава 5
ПРИМИТИВЫ И МЕХАНИЗМ ДОСТУПА
Всеобъемлющие функции AutoLISPа "set" обеспечивают доступ к
примитивам AutoCADа, к графическому экрану и к механизмам ввода. Вы може-
те выбирать примитивы , восстанавливать их величины и модифицировать их.
Наборы выбора (selection - sets ) можно поместить в переменные LISPа, это
позволяет работать коллекции примитивов. Для прямого создания примитивов
нет функций ,однако можно использовать функцию COMMAND , чтобы подчини-
ться обычным командам AutoCAD для выполнения этого.
5.1. Специальные типы данных
Два специальных типа данных AutoLISPа являются инструментом ,
обеспечивающим доступ к примитивам AutoCAD: имя примитива ( entity name )
и набор выборa ( selection - set ). Этими типами данных манипулируют
только функции , которые действуют на основании их , и их внутренняя
структура не касается программиста LISP. Имя примитива имеет значение
в указателе файла , обслуживающем редактор чертежей AutoCAD, в котором
AutoLISP может найти базу данных примитивов или их векторы (если есть
вывод на экран). Наборы выбора это просто коллекция имен примитивов.
Имена примитивов и наборы выбора действительны только в течение
|
adfun.ru
|
|
|
|