|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Помогите новичку! Параметаризация детали на AutoLISPe!!!
Регистрация: 16.01.2011
Сообщений: 1
|
||
Просмотров: 8655
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Ошибкакак правило, означает несоответствие открывающих и закрывающих скобок.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Li6-D, мне как-то сейчас некогда построчно проверять код. И вникать в то, что он должен делать - тоже...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Алексей, я не хотел, чтобы кто-нибудь считал скобки в проблемном коде, кроме самого автора. Мое мнение такое, что эту несложную работу должен делать только автор до публикации кода на форуме. Даже если автор - новичок. Может принять за правило не рассматривать код, в котором баланс скобок и кавычек не соблюдается?
|
|||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
У меня это ошибка означала символ кавычек (") в читаемой строке.
если задать (setq xx "f\"5"); допустим, если строка читается с текстового файла, то символ кавычек " заменяется на \" то (read (strcat "(" xx ")")) вернёт такую же ошибку - потому что в списке кавычек быть должно не ^_^ |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
|
|||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
Попробуйте переосмыслить концепцию передачи данных съёмки тахеометра Nikon TRIMBLE M3 3",5" в автокад и тогда глупости перестанут возникать у всех геодезистов. Кроме того, моё сообщение - пока что - единственное по сабжу ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Нда? Павел Котелевец, ты ничего не путаешь? Тему-то посмотри с самого начала...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
Эмм... нет.
Изначально я набрёл на этот пост, введя в гуглопоиск "неправильно сформированный список на входе" желая узнать что именно вызывает эту ошибку в моём коде, и откуда она там неожиданно взялась. Поскольку мой акад русскоязычен, я не мог воспользоваться хелпом. И на тот момент, когда я нуждался в ответе, меня удовлетворил бы ответ исключительно в фоме моего собственного поста. Потому что я не нашёл в данном треде ни одного поста, объясняющего прямую причину этой ошибки, или расписывающего ситуации её возможного появления ^^ Последний раз редактировалось Павел Котелевец, 04.02.2011 в 03:23. |
|||
![]() |
|
||||
Цитата:
Цитата:
![]() |
||||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
У человека рушится дом. Он спросил, что у него с фундаментом.
Десять человек сказали "у тебя чтото с фундаментом" Один сказал "Скорее всего, изза просадки фундаментов вследствии эрозии грунтов". Человек не спрашивал почему не работает его код. Он спросил Цитата:
Тоесть люди, упомянувшие несоответствие скобок указали её как ошибку. ^^ Пришлось продемонстрировать, что скобки к ошибке отношение имеют весьма посредственное... И ещё - такой ошибки как Незакрытая Скобка - Unmatching Parenthesis официально нет. Она не входит в список 85 Error Codes, обозначеных в автолиспе, поскольку код с незакрытыми скобками просто не считается полноценным. Поэтому, ошибку может вызвать неправильная простановка, а не "несоответствие открывающих и закрывающих скобок." Последний раз редактировалось Павел Котелевец, 04.02.2011 в 12:43. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
(setq k2 "_abcd" k3 (strlen k2))
(if (< k3 3)(setq k3 0)(setq k3 (/ (ascii (substr k2 3 1)) 100.0))) ;правильная простановка возвращает 0.98 (if (< k3 3)(setq k3 0)(setq k3 (/ (ascii (substr k2 3 1))) 100.0)) ;неправильная простановка парных скобок вызывает синтакс. ошибку (if (< k3 3)(setq k3 0)(setq k3 (/ (ascii (substr k2 3 1) 100.0)) ;неполноценный, свободноинтерпретируемый код (несоответствие открывающих и закрывающих скобок), который не вызывает ошибок не загружаясь до конца. Как детектив без развязки. Люди... это же азы ![]() Кстати, повторюсь - вы в топе гуглопоиска. Соостветственно, каждый, кто будет искать "неправильно сформированный список на входе" попадёт сюда. Предлагаю прекратить оффтоп и посвятить тред входящим спискам =) Последний раз редактировалось Павел Котелевец, 04.02.2011 в 13:56. |
|||
![]() |
|
||||
Цитата:
Вот именно, что это азы - несоответствие скобок вызывает ошибку "ошибка: неправильно сформированный список на входе", в английской версии "error: malformed list on input". |
||||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
Теперь это годится в протокол
![]()
|
|||
![]() |
|
||||
Цитата:
Ошибки со скобками легко отлавливаются еще в процессе написания кода во встроенном редакторе VLIDE. Для гуглпоиска ![]() Код:
|
||||
![]() |
|
||||
проектирование Регистрация: 02.08.2006
Ухта
Сообщений: 32
|
Эээ... зачем вручную?
Акад недовольно проворчит: ((((_> Последний раз редактировалось Павел Котелевец, 04.02.2011 в 15:36. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Для справки: в командную строку невозможно ввести команду (она же - код) длиной более 255 символов, насколько я помню. По крайней мере пару раз на такие грабли я наступал.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Ясно дело, что если при загрузке кода в командную строку были выданы сообщения: ((_>, ("_> или
; ошибка: лишняя закрывающая скобка на входе, код не сбалансирован. Сам так иногда проверяю, не заботясь о вычислениях, которые надо выполнить перед выполнением подозреваемого куска кода. Это метод, правда, не всегда работает. В несбалансированном коде прежде, чем будут проверены скобки могут вылезти и другие ошибки, например: Команда: (nofun))) ; ошибка: no function definition: NOFUN Команда: (defun fun () (1+ 2))(fun 2))) ; ошибка: слишком много аргументов Команда: (if (< k3 3)(setq k3 0)(setq k3 (/ (ascii (substr k2 3 1))) 100.0))) ; ошибка: синтаксическая ошибка Последняя ошибка вылезла из-за того, что из-за неправильной простановки скобок у setq получилось 3 аргумента. Чтобы подавить вредное влияние вычислений можно в командной строке ввести "(quote(", вставить проверяемый код и добавить "))". Или ничего не добавлять, это дело вкуса. А в командную строку можно копипастить достаточно большой код, при этом каждая строчка кода должна содержать не больше 256 символов. Код автора темы в сумме содержит больше символов, но полностью грузится, выдавая нехватку 4 закрывающихся скобок. Добавьте туда длинную строку и при вставке кода произойдет ее обрезка (в отличие от загрузки функцией load). Последний раз редактировалось Li6-D, 05.02.2011 в 23:53. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Документация Проектировщику на Torrents | DEM | Разное | 263 | 03.09.2024 12:25 |
Proxy-графика, как с ней бороться, помогите новичку | lednev | AutoCAD | 18 | 21.03.2016 09:01 |
Помогите советом новичку с расчетной схемой | K_Sokolsky | Конструкции зданий и сооружений | 9 | 02.02.2010 13:08 |
Помогите написать программу на AUTOLISP'e | Сергей123 | LISP | 28 | 06.09.2007 12:20 |
Помогите новичку | Дмитрий2 | Программирование | 32 | 14.07.2004 21:57 |