adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Эта функция возвращает первый список или атом из данной <строки>.
<строка> не должна содержать пробелы. Hапример:
(read "hello") возвращает HELLO
(read "hi") возвращает HI
(read "(a)") возвращает (A)
4.95 (read-char [<описатель файла>])
Эта функция считывает единичный символ из буфера ввода клавиатуры
или из открытого файла задаваемого <описателем файла>. Она возвращает
(целое) ASCII код считываемого символа.
Если не задано <описателя файла> и в буфере ввода клавиатуры нет
символов, READ-CHAR ждет, чтобы вы ввели что-либо с клавиатуры
(заканчивающееся RETURN). Hапример, добустим, что буфер клавиатуры пуст:
(read-char)
будет ждать какого-либо ввода. Если вы набрали "АВС", завершив
ввод RETURN, READ-CHAR возвратит 65 (код AS0CII буквы "А" (латинской)).
Следующие три обращения к READ-CHAR возвратят 66,67 и 10 (переход на
новую строку) соответственно. Если затем последует еще одно обращение
к READ-CHAR, она будет ждать ввода.
4.96 (read-line [<описатель файла>])
Эта функция считывает строку символов с клавиатуры или из
открытого файла, заданного <описателем файла>; READ-LINE возвращает nil,
иначе она возвращает строковое значение, которое было считано. Hапример,
допустим, что F - это разрешенный указатель открытого файла:
(read-line f)
возвратит следующую введенную строку из файла или (если достигнут конец
файла) nil.
4.97 (redraw [<имя примитива> [<режим>]])
Действие функции зависит от числа введенных аргументов. Если она
вызывается без аргументов:
(redrow)
будет нарисован весь чертеж, точно так же, как это делает команда
AutoCAD REDRAW. Если вызывается с аргументом <имя примитива>:
(redraw <имя примитива>)
выбранный примитив будет перерисован. Это используется для
- 58 -
Руководство пользователя по АВТОЛИСПу
идентификации примитива на экране после использования функции GRCLEAR
для очистки экрана. Имена примитивов описаны в главе 5 настоящего
руководства.
Полный контроль за перерисованием примитива обеспечивается вызовом
REDRAW с двумя аргументами:
(redraw <имя примитива> <режим>)
где <имя примитива> - это имя перерисовываемого примитива, а <режим>-
это целое число с одним из следующих значений:
!~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! режим REDRAW ! действие !
!-----------------!--------------------------------------------!
! 1 ! перечерчивание примитива на экране !
!-----------------!--------------------------------------------!
! 2 ! не рисует примитив (стирает) !
!-----------------!--------------------------------------------!
! 3 ! подсвечивает примитив (если может дисплей) !
!-----------------!--------------------------------------------!
! 4 ! перестает подсвечивать примитив (если может!
! ! дисплей) !
!-----------------!--------------------------------------------!
Если <имя примитива> - заголовок сложного примитива (Полилинии или
Блока с атрибутами), в процессе перерисовки будут участвовать как
основной примитив, так и все подпримитивы, если аргумент <режим>
положителен. Если же аргумент <режим> отприцателен, то только основной
примитив будет участвовать в процессе REDRAW.
4.98 (rem <число1> <число2>)
Эта функция делит <число1> на <число2> и возвращает остаток от
деления (<число1> mod <число2>). REM может использоваться с целыми и
действительными величинами со стандартными правилами преобразования.
Hапример:
(rem 42 12) возвращает 6
(rem 12.0 16) возвращает 12.000000
(rem 60 3) возвращает 0
4.99 (repeat <число> <выражение>...)
В этой функции <число> представляется любой положительной целой
величиной. Функция выполняет каждое <выражение> заданное <число> раз и
возвращает значение последнего выражения. Hапример, дано:
(setq a 10)
(setq b 100)
тогда:
(repeat 4
(setq a (+ a 10)))
(setq b (+ b 10)))
) возвращает 140.
- 59 -
Руководство пользователя по АВТОЛИСПу
lsp-4-10
4.100 (reverse <список>)
Эта функция возвращает <список> c его элементами, расставленными в
обратном порядке. Hапример:
(reverse '((a) b c)) возвращает (С В (А))
4.101 (rtos <число> [<режим> [<точность>]])
Эта функция возвращает строковую константу, которая представляет
<число> (действительная величина) в соответствии со значениями <режима>,
<точности> и размерной переменной AutoCAD DIMZIN. <Режим> и <точность> -
целые величины, которые назначают режим представления и его точность.
Hиже представлены значения <режима>:
!~~~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! Режимы RTOS ! Формат представления !
!-------------------!-------------------------------------------!
! 1 ! научный !
!-------------------!-------------------------------------------!
! 2 ! десятичный !
!-------------------!-------------------------------------------!
! 3 ! инженерный (футы и десятичные дюймы) !
!-------------------!-------------------------------------------!
! 4 ! архитектурный (футы и дробные дюймы) !
!-------------------!-------------------------------------------!
! 5 ! произвольные дробные части !
!-------------------!-------------------------------------------!
Аргументы <режим> и <точность> соответствуют системным переменным
AutoCAD LUNITS и LUPREC. Если опустили эти аргументы, то будут
использованы текущие значения LUNITS и LUPREC. Примеры RTOS:
(rtos 17.5 1 4) возвращает "1.7500E+01"
(rtos 17.5 2 2) возвращает "17.50"
(rtos 17.5 3 2) возвращает "1'-5.50""
(rtos 17.5 4 2) возвращает "1'-5 1/2""
(rtos 17.5 5 2) возвращает "17 1/2"
4.102 (set <символ> <выражение>)
Присваивает <символу> (где <символ> - имя символа с кавычкой
спереди) значение <выражения> и возвращает это значение. Hапример:
(set 'a 5.0) возвращает 5.000000 и устанавливает в символ А
(set (quote b) 'a) возвращает А и устанавливает в символ В.
Если SET используется с символьным именем без кавычки, она может
присвоить новое значение косвенно другому символу. Hапример, возьмем
вышеприведенные примеры:
(set b 640) вернет 640
и присвоит значение 640 символу А (поскольку это значение символа В).
- 60 -
Руководство пользователя по АВТОЛИСПу
Смотрите также ниже SETQ.
4.103 (setq <символ1> <выражение1> [<символ2> <выражение2>]...)
Эта функция устанавливает в <символ1> значение <выражения1>, в <символ2>
значение <выражения2> и т.д. Это основная функция присвоения в AutoLISPе.
Hапример:
(setq a 5.0) возвращает 5.000000
|
adfun.ru
|
|
|
|