Author Topic: UNDEFINEALL()  (Read 2300 times)

0 Members and 1 Guest are viewing this topic.

winwebber

  • Освоившийся
  • **
  • Posts: 46
    • View Profile
UNDEFINEALL()
« on: February 01, 2019, 05:54:58 PM »
Обнуление всех переменных.
Сценарий отрабатывает. Сбрасываем всё. Иначе может сохранить.
Пример
Code: [Select]
$a=1
$b=2
arrpush($c, 3)
print($a,$b,$c[0])
UNDEFINEALL()
print($a,$b,$c[0])
Quote
1,2,3
0,0,0
Для чего. Пример.
1. Сброс флагов и меток.
В первом цикле сценария у нас есть две сущности.
Массив
И тригер при котором выходит из массива.
Словили тригер вышли из перебора, работаем дальше.
Во втором цикле, снова сознаем массив а в нем уже есть значения.
И тригер/метка поменялся, всё может сработать не в тов время.
2. Банально высвобождение памяти.
Просто в конце пишем UNDEFINEALL(). И начинаем всё с чистого листа, голова не болит.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: UNDEFINEALL()
« Reply #1 on: February 10, 2019, 09:33:07 AM »
Если скрипт нужно начать сначала, то можно просто перезапустить скрипт через батник
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: UNDEFINEALL()
« Reply #2 on: February 10, 2019, 12:04:55 PM »
Да тут все проще, переписатьб весь скрипт с учетом нужных и не нужных в нужные и ненужные моменты переменные и массивы - написал какойто цикл или подпрорамму, просмотрел все переменные, и решил, какие тебе понадобятся в будущем, а какие нет, и лишние поудалял.

Но если уже никак без задуманнорго ранее, то можно обойтись и тем что предложил Космич, только батник это лишнее.
Пример:
Code: (clickermann) [Select]
#autorun
LOGSHOW (1)


wait(1)
$a = 1
print("работает скрипт, ".$a )
wait(1)
$b = 2
print("работает скрипт, ".$b )
wait(1)
$c = 3
print("работает скрипт, ".$c )
wait(1)
$d = 4
print("работает скрипт, ".$d )
wait(1)
$e = 5
print("работает скрипт, ".$e )
wait(1)
$f = 6
print("работает скрипт, ".$f )
wait(1)
$g = 7
print("работает скрипт, ".$g )
wait(1)
$h = 8
print("работает скрипт, ". $h)
wait(1)
print("закончили работу, начинаем заново")
execute("test.cms")   //начинаем заново
wait(1)
halt(1)    //ваключаем старое
« Last Edit: February 10, 2019, 12:36:49 PM by dramster »

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: UNDEFINEALL()
« Reply #3 on: February 10, 2019, 12:13:23 PM »
может быть это не критично, но если перед запуском не закрыть текущий процесс кликера, то у нового процесса горячие клавиши работать не будут
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»