![]() |
|
![]() ![]() ![]() |
|
InKaterina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.12.2010 Репутация: нет Всего: нет |
Извиняюсь за поздний визит, но больше нет сил.за lisp села только сегодня, что то он мне не дается. задача такая:
Определить функцию, прибавляющую заданное число к каждому элементу (на всех уровнях) указанного списка. Заранее спасибо |
|||
|
||||
Ryukzak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 12.9.2006 Репутация: нет Всего: 1 |
(defn list-inc [lst]
(cond (list? lst) (map list-inc lst) :else (+ 1 lst)) Работает так: Усли в шункцию подак не список - то делает предположение, что это число, и возвращается его инкремент. В случае если это список (list? lst), то ко всем его элементам (map) рекурсивно применяется функция инкремента. Диалект - clojure, в случае scheme, если не ошибаюсь, будет так: (defun list-inc (lst) (cond ((list? lst) (map list-inc lst)) (:t (+ 1 lst))) Но точно не уверен. |
|||
|
||||
VH_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 31.10.2006 Репутация: 10 Всего: 11 |
|
|||
|
||||
InKaterina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.12.2010 Репутация: нет Всего: нет |
спасибо за ответ! смысл поняла, дальше разберусь!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума LISP | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | LISP | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |