Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Zets on February 20, 2014, 09:38:43 PM
-
У меня скрипт который ходит по сетке из ссылок. И устанавливая переменную по горизонтали и вертикали можно было начать с определенного места. В 4.9 сделали начало цикла всегда с нуля, как будто переменную нельзя обнулить непосредственно перед циклом. Кто подскажет зачем это и как быть с уже готовым скриптом?
-
Иногда автоматическое обнуление в цикле полезно но тебе нужно использовать за место FOR цикл WHILE.
$a = 100 // начальное значение
WHILE($a < 500)
// здесь зацикленный скрипт
INC($a,1) // наращиваем переменную
END_CYC
-
... Кто подскажет зачем это и как быть с уже готовым скриптом?
В нутри цикла там где используется переменная цикла прибавлять смещение.
-
Спасибо! Оба варианта можно применить. Но проще наверно добавить смещение, чем циклы переделывать.
Все равно непонятно зачем это было делать. Обнулить переменную перед циклом проще добавлять смещение к примеру. Это у меня скрипт всего лишь пару сотен строк. А какой нить злющий бот разработанный для 4.7 никто не будет переделывать под 4.9 и люди просто не будут юзать 4.9. Нуу мне так кажется =))
-
Все равно непонятно зачем это было делать.
я прекрасно понимаю, как делать надо было бы и вообще считаю что имею кое-какие познания в программировании (потому что инае просто не написал бы такую утилиту).
однако иной раз решение приходит совсем не сразу и прохидится лепить костыли, шаг за шагом делая то что должно получиться в идеале.
поэтому общий ответ на вопрос зачем что-то как правило будет потому что в данном случае у меня не хватило мозгов как сделать иначе, а задачу решить надо было
в случае с циклом в ранних версиях, там была особенность что цикл начинался не с i, а с i+1. таким образом если перед циклом было бы i=0 то первая итерация уже была бы с i+1. так же условие i < N ранее срабатывало на шаг позже. с вводом массивов (которые от нуля) это было уже нетерпимо поэтому цикл пришлось переписать.
с идеале цикл станет по синтаксису таким как в С++. железное начало от 0 - явление временное. все развивается. достаточно вспомнить что пару лет назад вообще было ограничение на вложенные циклы - всего до 2 уровня.
-
Спасибо за подробный ответ!)