Нельзя контролировать рекурсию? Смотрели мой код? Функция вызывает сама себя до тех пор, пока не сработает условие...
Не верите мне - прочтите википедию.
Нельзя контролировать рекурсию? Смотрели мой код? Функция вызывает сама себя до тех пор, пока не сработает условие...
Не верите мне - прочтите википедию.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Кстати это в твоем коде не имеет смысла.PHP код:
else return printf("min_value(%i) == max_value(%i)", min_value, max_value);
Захожу на pro-pawn.ru - чувствую себя обычным пользователем
Захожу на gawno-info.ru - чувствую себя самым великим гением
(С) Caypen
Смысл в том, чтоб показать людям, что условие сработало. Да и всё равно нужен будет return в конце, если убрать эту строку. Ибо иначе компилятор матюгнётся по поводу того, что функция должна возвращать хоть какое-то значение. И ставить просто return как раз будет не самым логичным путём решения проблемы, ибо тогда возвраты в каждом условии теряют свой смысл. В общем, мой код предельно логичен
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
У тебя везде возвращает 1, в любой ситуации) Так что смысла всё таки нет)
И в добавок
Никогда не произойдет.PHP код:
else return printf("min_value(%i) == max_value(%i)", min_value, max_value);
Захожу на pro-pawn.ru - чувствую себя обычным пользователем
Захожу на gawno-info.ru - чувствую себя самым великим гением
(С) Caypen
Хмм, совсем забыл про то, что добавил второе условие. Начальный вариант был таков
Потом уже накидал остальные условия. Вот так было задумано:PHP код:
stock ForeachFunction(min_value, max_value)
{
if(min_value != max_value)
{
printf("-min_value(%i) != max_value(%i)", min_value, max_value);
ForeachFunction(++min_value, max_value);
return 1;
}
else return printf("min_value(%i) == max_value(%i)", min_value, max_value);
}
Но можно сделать и так:PHP код:
stock ForeachFunction(min_value, max_value)
{
static Start;
if(max_value < min_value)
{
printf("[Error ForeachFunction]: Значение максимального аргумента меньше значения минимального (%i|%i)", min_value, max_value);
return 1;
}
else if(max_value == min_value && !Start)
{
printf("[Error ForeachFunction]: Значение максимального аргумента равно значению минимального (%i|%i)", min_value, max_value);
return 1;
}
else if(min_value != max_value)
{
Start = 1;
printf("-min_value(%i) != max_value(%i)", min_value, max_value);
ForeachFunction(++min_value, max_value);
return 1;
}
else return printf("min_value(%i) == max_value(%i)", min_value, max_value), Start = 0;
}
Только тогда выдаст ошибку из второго условия, когда min_value станет равно max_value через рекурсию. А это уже совсем не тоPHP код:
stock ForeachFunction(min_value, max_value)
{
if(max_value < min_value) printf("[Error ForeachFunction]: Значение максимального аргумента меньше значения минимального (%i|%i)", min_value, max_value);
else if(max_value == min_value) printf("[Error ForeachFunction]: Значение максимального аргумента равно значению минимального (%i|%i)", min_value, max_value);
else if(min_value != max_value)
{
printf("-min_value(%i) != max_value(%i)", min_value, max_value);
ForeachFunction(++min_value, max_value);
}
return 1;
}
Последний раз редактировалось DeimoS; 17.04.2014 в 15:58.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
я имел ввиду, что рекурсия сама не остановится, поэтому выражение "бесконечная рекурсия" абсурдно
бесконтрольная/неконтролируемая рекурсия - другое дело
неправильно выразился, сорри
Последний раз редактировалось Spectrum; 17.04.2014 в 17:36.
Ну тогда можно и так
PHP код:
#define ShowPlayerDialog(%0,%1,%2,%3,%4,%5,%6) SendClientMessage(%0, -1, %4)
stock SetPlayerPosEx_(playerid) return SetPlayerPos(playerid, random(10000), random(10000), random(10000));
#define SetPlayerPos(%0,%1,%2,%3) SetPlayerPosEx_(%0)
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)