Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 07:34   #1
HGK
Новичок
Джуниор
 
Регистрация: 19.11.2010
Сообщений: 1
По умолчанию Вопрос по Lisp

Надо сделать функцию, которая определяет факт, является ли структура данных списком. Вот мой код:
Код:
(defun proverka (L)
  (if (and
(atom (car L))
(atom (cdr L))
      )
   T
   nil
  )
)
Он работает только для списка с одним элементов. А надо что бы работал для любого кол-ва. В чем ошибка?
HGK вне форума Ответить с цитированием
Старый 17.12.2010, 08:39   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Какая-то мутная задача. Насколько я помню (хотя могу и ошибаться) в Лиспе все является списком. Иное дело, что есть списки правильные и не правильные...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 17.12.2010, 13:39   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А разве сама atom уже не дает понять что перед ней не список?
Цитата:
Предикат АТОМ проверяет, является ли
аргумент атомом
При работе с выражениями необходимо иметь возмож-
ность проверить, является ли выражение атомом или
списком. Это может потребоваться, например, перед
применением функций CAR и CDR, так как эти функции
определены лишь для аргументов, являющихся списка-
ми. Базовый предикат АТОМ используется для иденти-
фицирования лисповских объектов, являю-
щихся атомами:
I'm learning to live...

Последний раз редактировалось Stilet; 17.12.2010 в 13:41.
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP vitalik_b1 Помощь студентам 0 30.10.2010 14:35
Comon Lisp angel28 Помощь студентам 0 21.06.2010 18:36
Lisp рекурсия Horror89 Помощь студентам 4 28.04.2010 22:04
lisp. newprog12 Помощь студентам 0 24.01.2010 12:39