|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Наверное, имеет смысл договориться о применении терминов...
Аргумент функции Цитата:
Функциональное программирование |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Тогда уж надо было цитировать
а не понятие аргумента в математике. Хотя что имел ввиду автор вопроса - непонятно. Возможно, что величина смещения должна быть не зашита в программу. Конечно, VVA сделал просто для примера с постоянной (setq dist 100). А вот если переделать "квази-команду" C:L_MOVE (ей нельзя передать аргументы) в "настоящую" функцию, то можно сделать величину смещения аргументом. Код:
|
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Я так понял, что пока непонятно как повторить команду Автокада с помощью command
передаваемые в функцию значения пока непонятней еще больше и это следующий шаг. Давай считать параметром команды все то, что мы ей отвечаем, когда работаем ручками. Это могут быть опции, указание точки, расстояния, угла и т.п. - Опция в команде передается ввиде строки, желательно английская с _ - точка ввиде списка lisp'a (10 20 30) - для ожидания ввода пользователя служит символ pause - нажатие клавиши Enter задается "" Пример 1 Создадим слой с помощью _-layer Листинг командной строки (цветной - коментарии) Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Да наверняка AlexeySh под параметрами имеет в виду опции команд.
Цитата:
Цитата:
|
|||
|
||||
Регистрация: 26.11.2007
Сообщений: 60
|
Под параметрами я имел ввиду передаваемые в функцию значения, как во многих (если не во всех) языках программирования.
И в автокаде , я как понял, это "все то, что мы ей отвечаем, когда работаем ручками". Правильно? Для чего все это мне было нужно. Была задача: "Существует фигура на плоскости, состоящая из отрезков. Известна ее необходимая площадь, и известна грань (отрезок), которую можно двигать для получения необходимой площади." Я вычислял площадь указываемой фигуры и сдвигал отрезок в ту или в другую сторону. И так, пока нужная площадь не получится. .......... Остался у меня вопрос, я указываю область, указываю отрезок. А получить как направление сдвига? Может по перпендикуляру от точки к отрезку? Если есть желание, выложу, что получилось чуть попозже. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
"все то, что мы ей отвечаем, когда работаем ручками" - это относится к функции AutoLISP command или vl-cmdf, которой передается имя команды AutoCAD, а затем, в качестве аргументов, всё, что эта команда ожидает. То есть, если с помощью функции command вызвать команду Автокада MOVE то она будет запрашивать выбор объектов (до пустого ввода), базовую точку и точку, куда надо переместить. Если же написать на LISP функцию, например, перемещения, то ей в аргументах можно передать то, что надо программисту. Можно и набор примитивов, и базовую точку, и смещение. А конечную точку - высчитать. |
|||
|
||||
Проектировщик свиноводство Регистрация: 21.08.2003
Сообщений: 2,268
|
2 All
Заглянул я по ссылке http://ru.wikipedia.org/wiki/Lisp Елпанова Евгения, а там написано: Лисп считается вторым после Фортрана старейшим высокоуровневым языком программирования. . А разве Алгол не старше Фортрана? |
|||
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,337
|
Off Top
Фортран созан в период 54-57 годы http://ru.wikipedia.org/wiki/Фортран Алгол разработан в 58-60 годы http://ru.wikipedia.org/wiki/Алгол |
|||
|
||||
Проектировщик свиноводство Регистрация: 21.08.2003
Сообщений: 2,268
|
А почему-же, когда говорят об алгоритмических языках, в первую очередь называют Алгол? Вспоминается даже фраза: "Алгол - прадедушка всех алгоритмических языков".
Тогда: или Фортран - не алгоритмический язык, или он появился после Алгола. Или: вышеуказанное изречение - штамп не слишком сведущих в истории программирования людей. |
|||
|
||||
Регистрация: 29.10.2004
СПб
Сообщений: 16,337
|
Это можно посмотреть в ссылке по Алголу, которуяю я привел. Кажется, в ней есть ответ. Вот он
Цитата:
ЯАП- язык авто-программирования. "Послать число 12 в ячейку 1420 Послать число 16 в ячейку 1421 Сложить (СП- сложение плавающее) содержимое ячейки 1420 с содержимым ячейки 1421 Результат записать в ячейку 1422" Последний раз редактировалось Хмурый, 27.11.2007 в 14:54. |
|||
|
||||
Проектировщик свиноводство Регистрация: 21.08.2003
Сообщений: 2,268
|
В институте еще изучали Алгол. А потом лабу надо было делать, и вдруг выясняется: ЭВМ для лабы Алгола не знает, а знает Алгамс. Почти то же самое с некоторыми изменениями синтаксиса. Но главное отличие - код должен быть прописными буквами. Так или иначе, но коды для лабы всем пришлось переписывать.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Ау, народ, вы куда??
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.11.2007
Сообщений: 60
|
Profan, Извиняюсь, у меня сейчас автокада рядом нет..
Область не разрывается, в конце концов пользователь может удлинить концы отрезков .... А эта задача уже сделана и работает... Вот только направление приходится руками задавать (параметр для команды MOVE - угол сдвига). Было бы красиво, чтобы само считалось... |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ламерские вопросы по LISP и DCL | TheBuTeK | LISP | 7 | 03.07.2016 22:15 |
Подскажите, существуют ли практические руководства по Lisp? | vn | LISP | 261 | 26.11.2015 13:27 |
Библиотека доступа к содержимому растров из LISP - существуе | kp+ | LISP | 6 | 16.10.2007 21:45 |
Как вывести текст в model из приложения написанного на lisp? | paradoxvaha | AutoCAD | 3 | 16.04.2007 03:54 |
загрузка DOS прог через LISP | Gaa | LISP | 15 | 12.08.2005 19:19 |