|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
ну... это как правило хорошего тона, "выход" - по пустому вводу.
А на практике, может ему надо 50 раз "прямо" пару раз "право\лево" и только потом "стоп". От сюда вопрос, что удобнее 50 раз нажать Enter\Space\ПКМ, и только в конце ввести "5", или 50 раз вводить "1", и только раз в конце нажать Enter\Space\ПКМ Цитата:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Нее... это не рекурсия
![]() А с непонятно получилось ![]()
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
ты в цикле на каждой итерации вызываеш (split " "), (split "/") и (reverse (cdr (reverse optns))) - результат у них всегда одинаковый - достаточно одного вычисления этих функций.
(append DirectionList (list 1 значение)) - с точки зрения лиспа - конструкция вывернута на изнанку - списки это не массив - и принцип работы с ними иной - по сути ты приconsиваеш ко второму списку (из одного элемента), поочередно все элементы предыдущего списка (опять же на каждой итерации) - короче правильно использовать cons с revers'ом по окончани всех итераций. Цитата:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
Цитата:
Конечно, рекурсивный принцип здесь весьма хорош, хоть я и не знаю, где хранятся промежуточные результаты вычисления рекурсивной функции и какую глубину рекурсии позволит мне лисп, тут опять же играет роль ч.ф. (см. выше) Со слоном согласен... исправил одну букву! для этого и мастерил "бубен"... |
|||
![]() |
|
||||
Цитата:
Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
То Дисней -добавив setq вы координально изменили логику (хоть результат и остался тем-же) - Если добавить обработку в нижнию часть кода (там где закрываются скобки) - в Вашем варианте key всегда будет равен последнему значению (поэтому я и не использую setq).
То Гомер - попробуй почитать определение каррирования - в автолиспе правда его создать невозможно, но встроенные функции с ним есть (+ list и пр).
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 29.01.2011 в 11:26. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
кончно не вычислится - у любой функции вначале вычисляются аргументы (не путать функции со специальными формами (их кто как называет) - это if, cond, and, or...) - где хранится результат - прочти про каррирование
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Да нее, это я просто хотел типа разложить рекурсию, для gomer.
Попробую ещё раз, пользователь вводил: "2" "2" "3" "4" "3" "5" Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Табличный ввод данных в ЛИРЕ. | dagget | Лира / Лира-САПР | 20 | 24.12.2019 13:49 |
Ввод данных по умолчанию | swkx | Программирование | 20 | 23.09.2010 14:58 |
VBA. Многократный ввод данных и изменение положения объектов | Markiza-2010 | Программирование | 6 | 28.06.2010 02:30 |
Ввод данных в АВТОЛИСПе | vovkam | LISP | 3 | 19.06.2009 19:41 |
LISP - ввод данных | Torino | LISP | 4 | 02.08.2004 12:33 |