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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > аналог mapcar

аналог mapcar

Ответ
Поиск в этой теме
Непрочитано 05.03.2010, 18:21 #1
аналог mapcar
baaba
 
архитектор
 
Москва
Регистрация: 07.07.2007
Сообщений: 664

читал тут, захотелось написать аналог mapcar, правда не знаю зачем..
Код:
[Выделить все]
(defun mapcar4 (fun lst / n m)
	(setq n ())
	(reverse (foreach m lst (setq n (cons (eval ((eval fun) m)) n)))))
применять так:
Код:
[Выделить все]
(defun testfun (a) (1+ a))
(mapcar 'testfun '(1 2 3 4 5))
(mapcar4 'testfun '(1 2 3 4 5))
Хотелось бы знать, какие подводные камни?

Кстати, интерпретатор cmucl мою функцию выполнить не может. Вообще интересно, насколько autolisp отличается от реализации common lisp?
Просмотров: 2617
 
Непрочитано 05.03.2010, 21:43
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


у настощего mapcara количесвто аргументов не ограниченно:
(mapcar '+ '(1 2 3) '(4 5 6) '(7 8 9)) - Ваш тут "загнется".
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 09.03.2010, 11:52
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,171


На caduser.ru есть тема "Уроки создания рекурсивных функций". Там первый же пример - аналог mapcar
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > аналог mapcar



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как автоматизировать печать чертежа? Serge_BN Программирование 13 04.03.2010 14:34
Отыскание условного экстремума с помощью множителей Лаграньжа slogos Программирование 19 11.02.2010 12:59
(GRREAD) и привязка Ева Программирование 17 18.12.2009 09:10
Rак присвоить переменные точкам после деления объекта? solo123 Программирование 14 16.11.2009 17:05
lisp- решение СЛАУ Patrick Henry LISP 9 26.12.2008 11:18