Поиск:

Ответ в темуСоздание новой темы Создание опроса
> рекурсивно заменить элемент в списке, помогите с кодом, не работет. 
:(
    Опции темы
luser78
Дата 25.1.2010, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 12.1.2010

Репутация: нет
Всего: нет



sw04, бери мой код,, обмозговывай - он работает 100%, там применяется рекурсия.
Если хочешь ещё проверку на новые элементы сделать (чтобы рекрси меньшее кол-во раз выполнялась),
то делай!! А так работает все))) Серьезно!
PM MAIL   Вверх
VH_
Дата 25.1.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Уважаемый luser78, сообщение sw04 датируется 8.11.2007.
PM MAIL   Вверх
k0rvin
Дата 25.1.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Цитата(adejneka @ 25.1.2010,  06:33)
2k0rvin: в Common Lisp по умолчанию для проверки равенства принято использовать EQL, а не EQ (последняя часто не работает с числами).

буду знать. в литературе чаще видел eq, но там правда в основном предполагались символы по-умолчанию =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
_sg
Дата 25.4.2014, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



как вариант:
Код

(defun replace-n-m (w n m &aux (a (car w)))
  (when w (cons (if (equal a n) m a) (replace-n-m (cdr w) n m))))

> (replace-n-m '(1 a 3 a 5 a 7) 'a 'b)
(1 B 3 B 5 B 7)

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.