Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > LISP > [CL] переменные внутри функции |
Автор: anatox91 11.2.2012, 16:41 | ||||||||
есть задача написать функцию на лиспе с тремя аргументами, которая формирует из них список и выполняет его обработку в соответствии с заданием
вот что получилось набросать:
но этот код почему-то не работает когда вызываю функцию как
или
то ничего не выводит плюс был варнинг что mylist is undefined variable в чем может быть проблема? заранее извиняюсь если что, только начал изучать лисп P.S. eclipse indigo + cups |
Автор: anatox91 11.2.2012, 19:08 | ||
все, проблема решена, чуть переписал функцию
и в другой среде (LispWorks) все отлично заработало |
Автор: tzirechnoy 11.2.2012, 21:06 |
1) И за setf, и за setq в чистых функцыях (от которых не требуется побочных эффектов) надо бить по рукам. 2) За засорение простых имён вроде mylist когда не просят -- второй раз бить по рукам. 3) У функцыи print есть побочные эффекты, которых никто не просил. Кроме того, выдать значение переменной можно просто написав имя этой переменной. Без скобок. И если это последний оператор в форме -- то его значение и будет результатом формы. |
Автор: k0rvin 13.2.2012, 08:33 | ||
|
Автор: anatox91 19.2.2012, 15:18 |
да я уже понял все это, просто то было самое первое что пытался написать на лиспе, не привыкнув к функциональному программированию, пытался использовать лисп как с++ теперь уже потихоньку осваиваюсь |
Автор: k0rvin 20.2.2012, 07:58 | ||
При чем тут функциональное программирование? Мой пример переписывается на C++/C/Pascal/whatever один в один |
Автор: _sg 22.2.2012, 10:32 | ||
|
Автор: _sg 25.4.2014, 16:15 | ||
|