Вложенные переменные списки
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вложенные переменные списки

Вложенные переменные списки

Ответ
Поиск в этой теме
Непрочитано 17.08.2009, 12:30 #1
Вложенные переменные списки
Didencool
 
Регистрация: 17.08.2009
Сообщений: 27

Здравствуйте уважаемые
недавно начал изучать автолисп и столкнулся с проблемой
хочу создать список который будет содержать вложенный список в виде переменной
помогите пожалуйста разобраться с этой проблемой, если тема обсуждалась дайте плс ссылку.
я попробовал решить данную проблему вот так.
Код:
[Выделить все]
(defun c:test(/ varlist finlist)
  (setq varlist
    (list(0 0))
  (setq finlist
    (cons '(0) 'varlist)
)
но переменная varlist воспринимается как элемент списка а не как переменная.
Заранее спасибо
Просмотров: 3144
 
Непрочитано 17.08.2009, 12:46
#2
Игорь Костюкович


 
Регистрация: 31.07.2009
Минск
Сообщений: 40


Убери функцию quote (') перед varlist...
Игорь Костюкович вне форума  
 
Автор темы   Непрочитано 17.08.2009, 12:47
#3
Didencool


 
Регистрация: 17.08.2009
Сообщений: 27


спасибо огромное, сейчас попробую.
Didencool вне форума  
 
Непрочитано 17.08.2009, 14:36
#4
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Didencool Посмотреть сообщение
Здравствуйте уважаемые
недавно начал изучать автолисп и столкнулся с проблемой
хочу создать список который будет содержать вложенный список в виде переменной
помогите пожалуйста разобраться с этой проблемой, если тема обсуждалась дайте плс ссылку.
я попробовал решить данную проблему вот так.
Код:
[Выделить все]
(defun c:test(/ varlist finlist)
  (setq varlist
    (list(0 0))
  (setq finlist
    (cons '(0) 'varlist)
)
но переменная varlist воспринимается как элемент списка а не как переменная.
Заранее спасибо
Если я правильно понял, то в список должно входить имя переменной, то есть результат должен быть такого вида:
(VARLIST 0 1 2 3)
Тогда код будет выглядеть примено так:
Код:
[Выделить все]
(defun c:test (/ varlist)
  (setq varlist (list 0 0))
  (cons 'varlist (list 0 1 2 3))
) ;_ end of defun
Только в этом случае после завершения работы функции C:test переменная varlist будет иметь значение nil.
И смысла в оперции присваивания
Код:
[Выделить все]
(setq varlist (list 0 0))
никакого.

Последний раз редактировалось Do$, 17.08.2009 в 14:42.
Do$ вне форума  
 
Автор темы   Непрочитано 17.08.2009, 15:07 RE:Вложенные переменные списки
#5
Didencool


 
Регистрация: 17.08.2009
Сообщений: 27


Цитата:
Сообщение от Do$ Посмотреть сообщение
Только в этом случае после завершения работы функции C:test переменная varlist будет иметь значение nil.
И смысла в оперции присваивания
Код:
[Выделить все]
(setq varlist (list 0 0))
никакого.
смысл теоретический, а не практический.
суть в упрощенном виде, указание точки вставки, и после запроса данных длины линии, должно вывести линию от точки вставки заданной длины например по оси Х
для контроля списка конечно добавлено (print finlist)
за доп.информацию конечно спасибо пис
Didencool вне форума  
 
Непрочитано 17.08.2009, 15:11
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


Не очень улавливаю нить рассуждений... Про это, что ли, разговор?
Код:
[Выделить все]
  (setq varlst '(0 0)
        finlst (cons 0 varlst)
        ) ;_ end of setq
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.08.2009, 15:15
#7
Didencool


 
Регистрация: 17.08.2009
Сообщений: 27


Цитата:
Не очень улавливаю нить рассуждений... Про это, что ли, разговор?
похоже на то
я совсем запутался с пониманием функции quote(')
Didencool вне форума  
 
Непрочитано 17.08.2009, 16:31
#8
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


В данном контексте (если я не прав - пусть мне дадут по башке и скажут как верно ) функцию quote (') можно принимать как аналог list.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.08.2009, 17:57
#9
Игорь Костюкович


 
Регистрация: 31.07.2009
Минск
Сообщений: 40


Кулик Алексей aka kpblc, даю по башке

В данном контексте, я просто в скобках, которые не имеют никакого отношения к Lisp'у, указал вариант вызова функции (quote). Прошу прощения, что ввёл уважаемую публику в заблуждение...
Игорь Костюкович вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вложенные переменные списки



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Недокументированные сист. переменные Makswell Справочник команд 114 19.06.2010 21:45
AutoLisp - по умолчанию динамические переменные? Иванов Роман (Молодечно) LISP 4 09.08.2009 11:32
А есть такие переменные? Krieger AutoCAD 20 09.11.2006 12:53
Как использовать в FIELDS Лисп переменные (2007)? Startrek AutoCAD 3 11.04.2006 17:39
Как извлекать переменные которые считает MASSPROP в LISPe? Денис LISP 2 13.10.2003 12:55