|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
После nentsel'a проверяй тип возвращенного объекта. По-моему, в таком режиме это единственный вариант.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
1. А что такое режим?
2. Вот еще вопрос. Пишу код функции (функция-1) в которую вставляю другую функцию (функция-2), в функции-2 объявлена локальная переменная. Далее в функции-1 нужно вернуть значение локальной переменной функции-2, но в это время функция-2 свое уже отработала, и эта локальная переменная уже не существует. Очень не хочется трогать функцию-2 и менять локальную переменную на просто переменную, так как функция-2 применяется еще во многих местах. Выход есть?
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Если по-простому:
Код:
Теперь по п.2 - ищи информацию по областям видимости переменных. В качестве иллюстрации: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
По П.2
Посмотрел в инете информацию по областям видимости переменных, ничего нового для себя не узнал, все те же локальные и глобальные переменные. Как вытащить из функции значение локальной переменной не узнал. А может такое вообще невозможно? Если на твоем примере, то мне нужно чтобы в функцие 1 значение переменной стало "func_2".
__________________
Блог Последний раз редактировалось Red Nova, 07.03.2009 в 10:20. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova,
1. Присвой значение локальной переменной глобальной Код:
Код:
1. Глобальным может быть и список (если нужно вернуть несколько значенией) 2. Возвращаться может список (если нужно вернуть несколько значенией)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Спасибо, значит таки придется чуток поменять твою SPECKG, поскольку мне нужно вернуть из нее список itog для таблицы ведомости расхода стали
__________________
Блог |
||||
![]() |
|
||||
Требуется создать цикл типа этого
Код:
Не могу определится со строкой с вопросами. Как выяснить нажал ли пользователь enter, и в зависимости от этого назначить “get_nil” nil ?
__________________
Блог |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Ф-ция get-text-string-by-ent в случае нажатия enter или выбора примитива, у которого нет свойства Textstring вернет nil
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Спасибо. Теперь я подошел к самой сложной для меня части создания кода для ведомости расхода стали.
В результате описанных выше преобразований я могу получить к примеру такой список. Код:
Код:
Изделие-1 содержит только один вид изделия - Арматура АI Изделие-2 содержит два вида изделия - Арматура АI и Арматура АIII Изделие-1 содержит один вид изделия - Прокат ВСТ3КП2 Во первых нужно для каждого изделия проверить какие типы изделий есть в остальных изделиях и не хватают в нем, и добавить недостающие списки в его список. Затем спустится ниже уровнем и проверить наличие в других списках ГОСТов и вставить недостающие. Затем сделать тоже для каждого параметра изделия, а “вес” для них будет “0”. Думаю объяснение весьма хаотичное. Для большей ясности приведу пример того во что список должен преобразоваться. Код:
Добавлено Хотя нет. Представление о возможном пути решения похоже появилось, но на столько сложное, что может лучше бы эта идея ко мне не приходила. Поскольку важно учесть и очередность профилей, то нужно будет создать эталонный список, в котором будут все профили (а для каждого профиля все возможные толщины, диаметры или номера). Учитывая то, сколько одних только болтов dextron забил в prokat.ves, то эталонный список будет весьма длинный. Затем нужно создать пустой список СИП (список использованных профилей) Потом берем первый профиль эталонного списка и ищем нет ли такого профиля в исходном списке, если есть то добавляем в СИП этот профиль, потом просматриваем каждый диаметр для этого профиля, и находя хоть один, добавляем его в СИП, в результате для приведенного выше списка СИП получится такой Код:
Если других мыслей нету, то буду делать так. Возник вопрос. Требуется в зависимости от некого counter-а вернуть N-ный элемент списка, причем N = counter, как это сделать?
__________________
Блог Последний раз редактировалось Red Nova, 08.03.2009 в 21:24. |
||||
![]() |
|
||||
проектировщик CТБ Регистрация: 03.03.2009
Сообщений: 28
|
Привет вам с кисточкой от чайника) Есть задачка - вставить в чертеж уже существующий блок и присвоить его аттрибутиву некоторое число. Видела на форуме примеры программок, выполняющих подобное, но с применением LISP - объектно-ориентированного. Каким образом можно выполнить эту задачку, работая с блоками, как со списками?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Aminka, а если по-русски? Работая с блоками, как со списками, но без программирования??
Red Nova, я так подозреваю, что тебе последняя задача нужна для заполнения таблицы, верно?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Red Nova,
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировщик CТБ Регистрация: 03.03.2009
Сообщений: 28
|
Кулик Алексей aka kpblcа если по-русски? Работая с блоками, как со списками, но без программирования??
без программирования я себе это с трудом представляю. Если я правильно понимаю, в автолиспе возможно работать тремя способами: 1. использованием функции command для создания и редактирования объектов 2.с помощью функций entmake и entmod, передавая в них списки со значениями dxf-кодов объектов. 3. с помощью AktivX. Меня интересует второй метод - каким образом вставить в чертеж блок, который уже присутствует в списке блоков данного чертежа, присвоив тестовому аттрибуту этого блока некоторое значение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
VVA,
Спасибо, то что надо. Кулик Алексей aka kpblc, Нет, нужно мне было это для сравнения двух списков, в недаконченном варианте это похоже на Код:
Код:
("A" "B") и ("A" . "B")
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Red Nova, если честно, то я давно уже потерял общую нить рассуждений и способен отвечать (в лучшем случае) только на последний вопрос. Если хочешь разобраться с кодом "сравнения двух списков", то можно приложить файл, откуда твой обрабатываемый список получен; код, которым ты его получаешь; и результат выполнения. Тогда можно было бы поковыряться (кстати, про версию када не забудь - это так, на всякий случай
![]() Лично я, например, вижу не самую оптимальную организацию списка как etalon, так и itog_izdelie_all. А отсюда и все остальное пляшет бог знает как.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
|||||
Цитата:
![]() Цитата:
Цитата:
Цитата:
__________________
Блог Последний раз редактировалось Red Nova, 12.03.2009 в 09:08. |
|||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
А чего, все архиваторы сразу сказали "ква"? Хором?
Кстати, в #629, думаешь, что-то более понятно, чем в #637? Лично мне - нет ![]() P.S. Разницу между списком и точечной парой я понимать понимаю, но объяснить не могу ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Цитата:
Цитата:
Цитата:
__________________
Блог |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Ну вот, как пример:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |