Сравнение скорости выполнения кода
Не всегда, но бывает необходимо проверить - какой вариант функции работает быстрее. Здесь мы и рассмотрим уже готовый вариант.
Далее
Как сделать отмену результата выполнения?
Разрабатываемые коды, как правило, что-то делают с файлом dwg: рисуют объекты, вносят изменения в таблицы файла и т.п. При этом могут меняться системные переменные, отрисовываться временные примитивы и т.п.
Все будет замечательно, если пользователь сделает все сразу и верно. А если нет? А если понадобится отменять выполненную команду?
Далее
Анонимные (lambda) функции
Когда я начинал работать с lisp'ом, я долго не мог понять смысла применения lambda-функций. И что это такое - достаточно долго для меня оставалось тайной (сказывался подход Visual Basic'a). На самом деле этот механизм очень удобен и прост.
Далее
Разница между ‘ и function
Просматривая чужие коды, можно наткнуться на странное применение ' и function - их ставят "как бог на душу положит". Вот примеры вполне адекватных кодов:
1 | (mapcar '1+ '(1 2 3)) |
1 | (mapcar (function 1+) '(1 2 3)) |
Код без ошибок – возможно ли?
Коды, которые Вы будете разрабатывать, должны быть не только удобны и обладать приемлемым быстродействием, но и быть безошибочными. Что подразумевается под безошибочностью?
Все достаточно просто: в любом случае, после завершения работы функции (корректного или некорректного - это неважно) AutoCAD должен принять вид, который был установлен пользователем до вызова функции. Логические ошибки типа (/ 50. 0.) отследить просто, но как отследить ошибки пользователя? Например, нажатие [Esc] в самый неподходящий момент?
Есть несколько вариантов.
Далее
О форматировании кодов
На сайте будет представляться некоторое количество кодов. Чтобы избежать всяких-разных нехороших ситуаций, хотелось бы обозначить правила именования функций и переменных, а также оформления кодов.
Далее
Полезности в редакторе VLIDE, часть 2
Как и было обещано ранее, продолжаем разговор.
Несмотря на "продолжаемость" разговора, здесь я буду рассказывать только про те клавиатурные сочетания, которыми сам пользуюсь постоянно.
Далее
Полезности в редакторе VLIDE
Известно, что для написания кода LISP или DCL можно пользоваться разными средствами. Особо продвинутые программисты способны писать код и в блокноте (notepad), и в Notepad++. Но, может, не стоит изобретать велосипед и попытаться работать в специально разработанной для этого среде?
Далее
Зачем этот сайт?
Сайт планируется сделать как пояснение языку AutoLISP и его расширению VisualLISP: коды, разбор функций LISP, вопросы по работе с ActiveX и т.п.
Почему именно lisp?
Ну, во-первых, язык достаточно простой и в то же время достаточно мощный. В отличие от VBA / .NET / arx коды, написанные с использованием lisp, как правило, не требуют никакой переделки независимо от версии AutoCAD - это во-вторых. В третьих, lisp-коды, как правило, могут работать и внутри CAD-систем, отличных от AutoCAD (BricsCAD, zwCAD...). И, наконец, в-четвертых, сайт только начинается, что дальше будет - неизвестно никому
Обязательное дополнение: подавляющее большинство информации из разряда "As Is" и "imho". Если у Вас есть опровержения, дополнения, уточнения и т.п. - прошу, высказывайтесь.
Архив Alaspher’a
Петр Лоскутов, профессиональный программист на AutoLISP, в свое время на сайте uniip.ru выкладывал свою библиотеку lisp-функций. К сожалению, сайт изменили и "достучаться" до этих интереснейших функций невозможно. Но не все так плохо.
Далее