Как создать функцию с необязательным вводом параметра
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

Как создать функцию с необязательным вводом параметра

Ответ
Поиск в этой теме
Непрочитано 14.02.2009, 07:26 #1
Как создать функцию с необязательным вводом параметра
Krieger
 
инженер (КМ)
 
Красноярск
Регистрация: 30.10.2004
Сообщений: 3,837

Как создать функцию с необязательным вводом параметра? Например также как у функции
(inters pt1 pt2 pt3 pt4 [onseg])
Т.е. здесь вот этот onseg можно не вводить и он будет приянят "по умолчанию" как "T".
__________________
Делай хорошо, плохо само получится.
Просмотров: 2922
 
Непрочитано 14.02.2009, 11:27
#2
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


В Lisp нельзя сделать свою функцию с переменным количеством аргументов. Такие встроенные функции написаны на других языках.

Но один или несколько аргументов могут быть списками. А в списке может быть сколько угодно элементов. Тогда такой аргумент анализируется внутри функции.

И не забываем, что аргумент может имет значение NIL. Это внутри функции можно проверить и присвоить какое-то значение по умолчанию.

Например:
Код:
[Выделить все]
 (defun my_inters pt1 pt2 pt3 pt4 onseg () 
 (if (null onseg) (setq onseg T))
 (inters pt1 pt2 pt3 pt4 onseg)
)
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 14.02.2009, 11:49
#3
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Жаль. Спасибо.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать функцию с необязательным вводом параметра



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рифмоплетство. Kryaker Разное 554 14.11.2023 11:59
SW подскажите как создать радиальное отверстие Chives SolidWorks 23 17.12.2008 00:54
Как создать "хитрую" линию? Composter AutoCAD 15 22.11.2008 05:38
Как создать виртуальный принтер Владислав Кулигин Компьютерная и бытовая техника, электроника и инструмент 4 03.01.2008 17:54
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16