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

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

Динмическое создание переменных

Ответ
Поиск в этой теме
Непрочитано 21.04.2011, 12:43
Динмическое создание переменных
PanNik
 
Регистрация: 09.03.2011
Сообщений: 6

Силюсь создать функцию динамического создания переменной.... но безрезультатно))

Суть в том чтобы передавать в функцию название (прим. Primer), и значение (прим. trololo). Он бы создавал переменную Primer1 содержащую trololo, в следующий раз, если кинуть туда Primer и любое значение, он бы создавал Primer2, с тем самым значением...
Просмотров: 6184
 
Автор темы   Непрочитано 27.04.2011, 09:29
#21
PanNik


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


Дайте пожалуйста ссылку на учебный материал по ассоциативным спискам, а то ничего непонятно...
PanNik вне форума  
 
Непрочитано 27.04.2011, 10:14
#22
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Да там материалов-то - см. справку автокада по функциям assoc, subst.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 27.04.2011, 10:21
#23
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Ассоциативный список - это просто список списков, у которых 1-й элемент является ключом. Пример - dxf коды в Автокаде. Нарисуй отрезок и набери в командной строке (entget(entlast)). Увидишь что-то похожее
Цитата:
((-1 . <Имя объекта: 7ef92690>) (0 . "LINE") (330 . <Имя объекта: 7ef90d08>) (5
. "2DB2") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbLine") (10 331.511 226.191 0.0) (11 439.551 198.487 0.0) (210 0.0 0.0 1.0))
Первые элементы - это dxf коды примитива, он же ключ.
Поиск нужных данных осуществляет функция assoc, замену - subst
Я знаю, что в списке с ключом 8 находится имя слоя, тогда
Цитата:
Команда: (assoc 8 (entget(entlast)))
(8 . "0")
вернет мне список с ключом, а второй элемент - это нужное мне имя слоя
Ключом (первым элементом) может быть и строка. Assoc чувствительна к регистру.
Цитата:
Команда: (setq lst (list (list 1 "Первый") '(2 "Второй")(list 3 10)(list "first" "Тоже первый")))
((1 "Первый") (2 "Второй") (3 10) ("first" "Тоже первый"))

Команда: (assoc 1 lst)
(1 "Первый")

Команда: (assoc "first" lst)
("first" "Тоже первый")

Команда: (assoc 3 lst)
(3 10)
В общем то вот и весь материал
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 27.04.2011, 14:27
#24
PanNik


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


большое спасибо, это наверное будет попроще чем создавать динамические переменные, и наверняка полегче для компутера
PanNik вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Динмическое создание переменных

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание диалоговых окон в AutoCAD TwoZero Программирование 145 11.03.2015 18:15
Как выдать список переменных (setvar) в текстовый файл Кларисса AutoCAD 6 03.06.2013 13:20
Программно получить список системных переменных (без вывода в текстовый файл) Ax3 Программирование 3 27.12.2010 16:29
Создание Unnamed group. Как? Diman111 Программирование 4 25.02.2008 09:29
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17