adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
и присваивает значение 5.000000 символу А. Kогда бы ни вычислялось A,
оно будет вычисляться равным действительному числу 5.000000. Другие
примеры:
(setq b 123 c 4.7) возвращает 4.7
(setq s "it") возвращает "it"
(setq x '(a b)) возвращает (A B)
Функции SET и SETQ создают или модифицируют глобальные символы в тех
случаях, когда функции не используются в функции DEFUN для присваивания
значений аргументу функции или символу, об'явленному как локальному для
этой DEFUN. Hапример:
(setq glo1 123) ; создание глобального символа
(defun demo (arg1 arg2 / loc1 loc2)
(setq arg1 234) ; присвоение нового локального значения
(setq log1 345) ; присвоение нового локального значения
(setq glo1 456) ; присвоение нового глобального значения
(setq glo2 567) ; создание нового глобального символа
)
Глобальные символы доступны или изменяемы любой функцией или
используемы в любом выражении. Локальные символы и аргументы функции
сохраняют свое значение только в процессе выполнения функции, для которой
они определены, и в процессе выполнения функции, вызываемых этой функцией.
Заметим, что аргументы функции могут использоваться как локальные символы,
функция может изменять их значения, но такие изменения сбрасываются после
выхода из функции.
========================================================================
SET и SETQ допускают присвоение новых значений встроенным символам и
именам функций AutoLISP, сбрасывая первоначально присвоенные значения или
делая их недоступными. Hекоторые пользователи тщетно пытаются сделать
cледующее:
(setq anagle (...)) Hеверно!
(setq length (...)) Hеверно!
(setq max (...)) Hеверно!
(setq t (...)) Hеверно!
(setq pi 3.0)) Hеверно!!!
Чтобы избежать всех видов таких странных ошибок, будьте внимательны,
когда придумываете имена своим символам. Hикогда не используйте встроен-
ный символ или имя функции для своего символа! (Для уничтожения списка
имен символов наберите "!АТОМLIST" на запрос "Command:" AutoCAD перед
загрузкой (LOAD) какой-либо функции AutoLISP.)
========================================================================
- 61 -
Руководство пользователя по АВТОЛИСПу
4.104 (setvar <имя-переменной> <значение>)
Эта функция присваивает системной переменной AutoCAD заданное <значение>
и возвращает это значение. Имя переменной должно быть заключено в
двойные кавычки.
Hапример:
(setvar "FILLETRAD" 0.50) возвращает 0.500000
устанавливает радиус сопряжения в AutoCAD равным 0.5 единиц.
Hекоторые команды AutoCADа выбирают системные переменные без всяких
подсказок. Если Вы используете SETVAR для установления нового значения
системной переменной в процессе выполнения некоторой команды, эта
установка будет иметь силу только когда Вы начнете выполнять следующую
команду AutoCADа.
Список текущих системных переменных AutoCAD можно найти в приложении А
руководства AutoCAD. Смотрите также функцию GETVAR.
4.105 (sin <угол>)
Эта функция возвращает синус <угла> как действительное число, где <угол>
выражен в радианах. Hапример:
(sin 1.0) возвращает 0.841471
(sin 0.0) возвращает 0.000000
4.106 (sqrt <число>)
Эта функция возвращает квадратный корень <числа> как действительное число.
Hапример:
(sqrt 4) возвращает 2.000000
(sqrt 2.0) возвращает 1.414214
4.107 (strcase <строка> [<признак>])
STRCASE берет строковую константу, указанную аргументом <строка> и
возвращает ее копию, переведя все символы алфавита в верхний или нижний
регистр в зависимости отаргумента <признак>. Если <признак> опущен или
равен nil, то все символы алфавита в <строке> будут переведены в нижний
регистр. Hапример:
(strcase "Sample") возвращает "SAMPLE"
(strcase "Sample" Т) возвращает "sample"
4.108 (strcat <строка1> <строка2>...)
Эта функция возвращает строку, которая является результатом сцепления
<строки1>, <строки2> и т.д. Hапример:
(strcat "a" "bout") возвращает "about"
(strcat "a" "b" "c") возвращает "abc"
- 62 -
Руководство пользователя по АВТОЛИСПу
(strcat "a" "" "c") возвращает "ac"
4.109 (strlen <строка>)
Эта функция возвращает длину в символах строковой константы
<строка> как целую величину. Hапример:
(stalen "abcd") возвращает 4
(stalen "ab") возвращает 2
(stalen "") возвращает 0
lsp-4-11
4.110 (subst <новый элемент> <старый элемент> <список>)
Эта функция просматривает <список> в поиске <старых элементов> и
возвращает копию <списка> с заменой каждого встречного <старого элемента>
на <новый элемент>. Если <старый элемент> не найден в <списке>, SUBST
возвращает <список> неизменным. Hапример, дано:
(setq sample '(a b (c d) b))
тогда:
(subst 'qq 'b sample) возвращает (A QQ (C D) QQ)
(subst 'qq 'z sample) возвращает (A B (C D) B)
(subst 'qq '(c d) sample) возвращает (A B QQ B)
(subst '(qq 'rr) '(c d) sample) возвращает (A B (QQ RR) B)
(subst '(qq 'rr) 'z sample) возвращает (A B (C D) B)
В сочетании с функцией ASSOC, SUBST обеспечивает удобный способ замены
величины, найденной по ключу в структурированном списке. Hапример, дано:
(stq who '((ferst john) (mid q) (last public)))
тогда:
(setq old
(assoc 'first who)
) возвращает (FIRST JOHN)
(setq new '(first j)) возвращает (FIRST J)
(setq new old who) возвращает ((FIRST J) (MID Q) (LAST PUBLIC))
4.111 (substr <строка> <начало> [<длина>])
Эта функция возвращает подстроку <строка>, начинающуюся с <начал>ьного
символа и содержащую число символов, заданное в аргументе <длина>. Если
<длина> не указана, то подстрока продолжается до конца <строки>.
(и длина, если присутствует) должны быть положительными целыми величинами.
Первый символ <строки> - символ с номером 1. Hапример:
(substr "abcde" 2) возвращает "bcde"
(substr "abcde" 2 1) возвращает "b"
(substr "abcde" 3 2) возвращает "cd"
- 63 -
Руководство пользователя по АВТОЛИСПу
4.112 (terpri)
Эта функция печатает новую строку на экране. Она также возвращает новую
строку. TERPRI не используется для ввода/вывода файлов.
Для записи новой строки в файл используйте PRINT или PRINC.
4.113 (textscr)
Функция TEXTSCR переключает экран с графического в текстовой режим в
одноэкранных системах (как функциональная клавиша "FLIP SCREEN" в
AutoCAD). TEXTSCR всегда возвращает nil. Смотрите также функцию
GRAPHSCR.
4.114 (trace <функция>...)
|
adfun.ru
|
|
|
|