![]() |
|
||||||||||
|
|||||
|
стервочка (я мужик)
|
мдя ... я же говорил: каша.
а ещё "рекурсией" в программировании, называют ряд вещей: 1. ошибка 2. перебор деревьев 3. порождающие друг друга конструкции и ещё целая куча вещей, которые я не успел вспомнить за 40 секунд. с итераторами вообще отдельная тема. итерататорм является объект, который умеет перебирать элементы коллекций. иногда это делают в цикле, иногда рекурсивно, иногда по таймеру. простейший пример итераторов и это число. простейший пример итерации это i++. но никак не цикл. и не перебирал я коллекцию. я порождал новой объект на основании старого. просто в цикле. p.s.: посетите первый курс университета. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 215
|
Помоему, вы путаете итераторы и итерации. Заметьте, я про итераторы ничего не говорил. И то, что итератор - это объект, а не действие, никто не оспаривает.
Вы сами пробовали почитать текст по ссылкам, что приводились выше? "В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия)"© wikipedia.org "Итерация - это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя." © wikipedia.org "Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Однократное выполнение тела цикла называется итерацией." © wikipedia.org Надеюсь вы не будете отрицать, что while - это цикл и нигде не производится явных или неявных вызовов вашего метода (contains)? Итак, вы утверждаете, что производите последовательные вычисления одной сущности на основании другой, а именно на основании Рассмотрим один из наиболее распространенных циклов: На каждой итерации происходит вычисление на основе уже вычисленного значения . По сути тот же случай, что и у вас. Полностью попадает под определение. Для большей наглядности рассмотрим пример. Возмем элементарный класс public class Integer { private var _value:int public function Integer(value:int) { _value = value } public function get increment():Integer { return new Integer(++_value) } public function get isMaxValue():Boolean { return _value > 5 } } Итак, повторю, что уже давно говорил: в приведенном вами коде рекурсий нет. PS расскажите пожалуйста об ошибках-рекурсиях, никогда о таком не слышал. Очень интересно. Вы мне, к стати, ни на один из заданных вопросов не ответили, а только обвиняли в безграмотности. PPS в принципе понятно, что под рекурсией подразумевал etc: последовательно опускаемся по дереву объектов. Но формально это рекурсией не является. Пример рекурсивного кода я уже писал. |
|
|||||
|
стервочка (я мужик)
|
мдя ... не понятно почему Вы говорите о тёплом, когда я говорю об мягком?
ждёте ответов? Цитата:
Цитата:
Цитата:
Цитата:
p.s.: ошибка "рекурсия" - это исключение ( во АС3 StackOverflowError, кажется ), которое возникает, в процессе переполнения стека программы за счёт (не)явного вызова метода самого себя или типа того. грубо говоря "бесконечная рекурсия", как бывает бесконечный цикл, который в АС3 приводит к ScriptTimeoutError. Последний раз редактировалось BlooDHounD; 24.08.2009 в 02:35. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|