Значит постановка вопроса: есть некая переменная - t или nil.
Надо написать макрос, который будет выполнять при соблюдении некоего условия и значении переменной = nil одно действие и ставить переменную в t, при соблюдени условия и значении переменной = t другое действие, т.е. к примеру:
(if (and trigger cond) (foo))
(if (and (not trigger) cond) (progn (bar) (setq trigger t)))
и так много раз (к примеру, на входе будут списоки (cond act1 act2)
Вот макрос:
http://pastebin.com/Gv62aDN4
Там есть код и пример использования. Проблема в том, что при вызове из самого верху макрос работает, а при вызове из функции пишет ошибку. Вывод такой
A
B
*** - EVAL: variable NAME has no value
Хотя это аргумент функции как-никак. Я в лиспе новичок (точнее - у меня нет практики), так что просьба за быдлокод не пинать.
Если это важно - всё записано в файл и вызывается так - clisp test.lisp
![](/photos/10659.png)
Ответ на:
комментарий
от k_andy
![](/photos/64140:1798256428.jpg)
![](/photos/48458:290543925.jpg)
Ответ на:
Если я всё правильно понял, то
от yoghurt
![](/photos/48458:290543925.jpg)
![](/photos/59897:-53814382.png)
![](/photos/37332:-408732253.jpg)
![](/photos/48458:290543925.jpg)
Ответ на:
Вариант А
от yoghurt
![](/photos/64140:1798256428.jpg)
Ответ на:
Вариант А
от yoghurt
![](/photos/64140:1798256428.jpg)
Ответ на:
Вариант А
от yoghurt
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/64140:1798256428.jpg)
![](/photos/48458:290543925.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/48458:290543925.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/48458:290543925.jpg)
Ответ на:
Вариант Бэ
от yoghurt
![](/photos/10659.png)
Ответ на:
комментарий
от yoghurt
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от k_andy
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/48458:290543925.jpg)
Ответ на:
комментарий
от yoghurt
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/57523:1269667285.png)
Ответ на:
комментарий
от korvin_
![](/photos/57523:1269667285.png)
Ответ на:
комментарий
от korvin_
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от korvin_
![](/photos/64140:1798256428.jpg)
Ответ на:
комментарий
от different_thing
![](/photos/57523:1269667285.png)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Common Lisp && Gamedev (2017)
- Форум Байтодрочерство common lisp (2015)
- Форум Mariadb, Common lisp (2022)
- Форум [common-lisp][realpath] (2011)
- Форум Стандарт Common Lisp (2009)
- Галерея Изучаем Common-Lisp (2010)
- Форум common lisp & package (2008)
- Форум Common-Lisp & octave (2008)
- Форум Стандарт Common Lisp (2007)
- Форум Practical Common Lisp (2006)