 |
- 51 -
Руководство пользователя по АВТОЛИСПу
Для дальнейшей информации смотрите Приложение Б Руководства AutoCAD.
Заметим, что используемый для ссылки на подменю знак "$" в файле меню
здесь не используется. Hапример:
(menucmd "S=OSNARP")
будет означать, что подменю "OSNAP" появится на экране (имеется
в виду, что такое подменю существует в текущем файле меню). Так же:
(menucmd "B=MY-BUTTONS")
будет присваивать подменю "MY-BUTTONS" кнопочному меню.
Что касается пиктографических и падающих меню, то для них допустимо
имя подменю "*" и означает оно высвечивание подменю из текущего раздела
меню.
Hапример:
(menucmd "P1=NUMERIC")
(menucmd "P1=*")
выберет подменю "NUMERIC" из падающего меню 1 и высветит его на экране.
MENUCMD всегда возвращает nil.
4.77 (min <число> <число>...)
Эта функция возвращает наименьшее из заданных <чисел>. Kаждое
<число> может быть действительным или целым. Hапример:
(min 683 -10.0) возвращает -10.000000
(min 73 2 48 5) возвращает 2
4.78 (minusp <элемент>)
Эта функция возвращает T, если <элемент> действительное или целое
число имеюшее отрицательное значение, иначе она возвращает nil. Она
не определена для других типов <элементов>. Hапример:
(minus -1) возвращает T
(minusp -4.293) возвращает T
(minusp 830.2) возвращает nil
4.79 (not <элемент>)
Эта функция возвращает Т, если выражение - nil, иначе nil. Обычно
функция NULL используется для списков, а NOT для других типов данных в
связи с каким-либо типом управляющих функций. Hапример, дано:
(setq a 123)
(setq b "string")
(setq c nil)
- 52 -
Руководство пользователя по АВТОЛИСПу
тогда:
(not a) возвращает nil
(not b) возвращает nil
(not c) возвращает T
(not '()) возвращает T
lsp-4-8
4.80 (nth <список>)
Эта функция возвращает "энный" элемент <списка>, где - номер
элемента (ноль - первый элемент). Если больше, чем номер последнего
элемента <списка>, возвращается nil. Hапример:
(nth 3 '(a b c d e)) возвращает D
(nth 0 '(a b c d e)) возвращает A
(nth 5 '(a b c d e)) возвращает nil
4.81 (null <элемент>)
Эта функция возвращает Т, если <элемент> вычисляется в nil, иначе
nil. Hапример, дано:
(setq a 123)
(setq b "string")
(setq c nil)
тогда:
(null a) возвращает nil
(null b) возвращает nil
(null c) возвращает T
(null '()) возвращает T
4.82 (numberp <элемент>)
Эта функция возвращает Т, если <элемент> - целое или действительное число,
иначе nil. Hапример, дано:
(setq a 123)
(setq b 'a)
тогда:
(numberp 4) возвращает T
(numberp 3.8348) возвращает T
(numberp "Howdy") возвращает nil
(numberp 'a) возвращает nil
(numberp a) возвращает T
(numberp b) возвращает nil
(numberp (eval b)) возвращает T
4.83 (open <имя файла> <режим>)
Эта функция открывает файл для доступа функций Ввода/Вывода (I/O)
AutoLISP. Она возвращает описатель файла для использования другими
- 53 -
Руководство пользователя по АВТОЛИСПу
функциями Ввода/Вывода, поэтому она должна присваиваться функцией SETQ
символу. Hапример:
(setq a (open "file.ext" "r"))
<имя файла> - это строковая константа, указывающая имя и расширение
открываемого файла. <Режим> - это флаг чтения/записи. Это должна быть
строковая константа, состоящая из одной буквы, набранной на нижнем
регистре. Допустимые значения букв режима описываются в следующей таблице.
!~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
!Режим OPEN ! Описание !
!-----------!---------------------------------------------------------!
! "r" ! Открыть для чтения. Если <имя файла> не существует, !
! ! возвращается nil. !
!-----------!---------------------------------------------------------!
! "w" ! Открыть для записи. Если <имя файла> не существует, !
! ! создается новый файл и открывается. Если <имя файла> !
! ! уже существует, находящиеся в нем данные будут !
! ! перезаписаны. !
!-----------!---------------------------------------------------------!
! "а" ! Открыть для добавления. Если <имя файла> не существует,!
! ! создается новый файл и открывается. Если <имя файла> !
! ! уже существует, он будет открыт и помещен таким !
! ! образом, что любые новые данные будут записываться !
! ! в файл вслед за уже существующими. !
! ! В системах DOS некоторые программы и текстовые !
! ! редакторы записываюттекстовые файлы с маркером конца !
! ! файла (CTRL Z, десятичный код ASCII 26) в конце текста.!
! ! Читая текстовый файл, DOS возвращает состояние конца !
! ! файла, если встретит маркер CTRL Z, даже если после !
! ! маркера присутствуют еще данные. Если вы намерены !
! ! использовать режим "а" функции OPEN для добавления !
! ! данных в файлы, созданные другими программами, !
! ! удостовертесь, что другая программа не вставила маркеры!
! ! CTRL Z в конце своих текстовых файлов. !
!___________!_________________________________________________________!
Предположим, что поименованные файлы в следующем примере не существуют:
(setq f (open "new.tst" "w")) возвращает
(setq f (open "nosuch.fil" "r")) возвращает nil
(setq f (open "longfile" "a")) возвращает
<имя файла> может включать префикс директории, как, например,
"/test/func3". Hа системах MS-DOS/PS-DOS допускается так же использовать
букву устройства ввода/вывода и вы можете пользоваться обратной косой
чертой вместо прямой косой черты (но помните, чтобы ввести в строку
одну обратную черту вы должны использовать "\\").
Hапример:
(setq f (open "new.tst" "w")) возвращает
(setq f (open "nosuch.fil" "r")) возвращает nil
- 54 -
Руководство пользователя по АВТОЛИСПу
4.84 (or <выражение>...)
 |
|