| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > Определение функции с "готовыми параметрами" |
| Автор: Joil 13.3.2008, 12:00 |
| Есть функция: (defun ksng(v r c), где v и r это списки а с это nil. Возможноли написать функцию так, чтобы вводилось только v и r: (ksng '(1 2 3 4 5) '(1 2 3 4 5)), но при этом оставалась переменная c но, со значением nil. Функция ksng рекурсивная, и при первом вызове собой, значением c уже является не nil, а спискок. |
| Автор: VH_ 13.3.2008, 12:48 | ||||
Для CommonLisp (и XLisp):
если значение по умолчанию nil, возможна сокращенная форма
|
| Автор: Joil 15.3.2008, 15:10 | ||
Пасиб, нашел немного другое решение:
|
| Автор: VH_ 15.3.2008, 15:58 |
| Можно объединить обе функции в одно «выражение», используя форму (labels (<binding>…) <expr>…), при этом избегая лишних «видимых снаружи» имен функций. |