> 1 <

Автор Сообщение

Lispo

Members


Статус

5 сообщений

Где: Russia
Род занятий:
Возраст:

#619   2009-08-22 19:15 GMT+3 часа(ов)      
Привет всем. Совсем замучался. Мне нужно было написать функцию которая ставит символ @ перед каждым элементом списка отвечающего критерию например каждым элементом который больше 0 или каждым нечетным элементом. Я написал вот так

[code=nocolor]
(defun mufunc (x)
(cond ((null x) nil)
((evenp (car x)) (cons (intern (format nil "@~a" (car x)))
(mufunc (cdr x))))
(T (cons (car x) (mufunc (cdr x))))))

[/code]

Это работает!
Но я сделал не совсем так мне нужно чтоб можно было это все вызывать вот так
mufunc((LAMBDA (x) (>= x 0)) ‘(1 0 -2 3 0 -4 5)) –> (@ 1 0 -2 @ 3 0 -4 @ 5) - для отриц чисел

mufunc(‘EVENP ‘(1 0 -2 3 0 -4 5)) –> (1 @ 0 @ -2 3 @ 0 @ -4 5) - и так для нечетных


Помогите пожалуйста.

gihar

Moderators


Статус

249 сообщений

Где: --- да вот он я? приехал уже из Катманду
Род занятий: конкретный
Возраст: 0

#620   2009-08-23 01:52 GMT+3 часа(ов)      
ну вот 'EVENP рисуется просто

Это было точно последнее редактирование

gihar

Moderators


Статус

249 сообщений

Где: --- да вот он я? приехал уже из Катманду
Род занятий: конкретный
Возраст: 0

#621   2009-08-23 03:25 GMT+3 часа(ов)      
Также и лямбда , на фотошоп-машине отлично работает.

Это было точно последнее редактирование

gihar

Moderators


Статус

249 сообщений

Где: --- да вот он я? приехал уже из Катманду
Род занятий: конкретный
Возраст: 0

#622   2009-08-23 03:37 GMT+3 часа(ов)      
Ну а дальше ты можешь сам скомбинировать заменить funcall Эплаем.
И проверить :
(atom '( LAMBDA (x) (>= x 0)) )
NIL
(atom 'evenp )
T
Это было точно последнее редактирование

Lispo

Members


Статус

5 сообщений

Где: Russia
Род занятий:
Возраст:

#623   2009-08-23 07:33 GMT+3 часа(ов)      
Да да чтото уже ближе но насколько я понял
Есть некоторый функционал который ставит @ перед элементом списка отвечающего заданному критерию т.е получается при вызове задается критерий и список а само действие "поставить @" получается как бы универсально т.е какой критерий и какой список ему передаш с тем он и будет работать вот как то так.

Помогите пожалуйста.

gihar

Moderators


Статус

249 сообщений

Где: --- да вот он я? приехал уже из Катманду
Род занятий: конкретный
Возраст: 0

#624   2009-08-23 15:31 GMT+3 часа(ов)      
Ты неправильно просьбу формулируешь.
Надо так:
(reverse '("Помогите" "довести" "функции" "до" "ума" ))

отредактировал(а) gihar: 2009-08-23 15:38 GMT+3 часа(ов)
Это было точно последнее редактирование
> 1 <


Онлайн :

0 пользователь(ей), 12 гость(ей) :




Реклама на сайте: