Автокликер Clickermann :: Форум

Основной раздел => Предложения => Topic started by: ezfalcon on January 29, 2015, 11:16:10 PM

Title: свои константы в сценарии
Post by: ezfalcon on January 29, 2015, 11:16:10 PM
не хватает такого удобства, как определенные в сценарии константы, которые затем можно использовать, например в case:

Code: (clickermann) [Select]
  #start = 1
  #resume = 2
  #pause = 3

// ----------------------

  switch($state)
  case(#start)
    logwrite("start")
    LCLICK(320,154)
    wait(1)
  case(#resume)
    logwrite("resume")
    LCLICK(1171,856)
    wait(1)
    LCLICK(1396,75)
    wait(1)
  case(#pause)
    logwrite("pause")
    LCLICK(125,900)
    wait(1)
  default
    // something else
  end_switch

портировать со скриптом файл const.txt не есть гуд
Title: Re: свои константы в сценарии
Post by: Oraven on January 30, 2015, 07:27:53 AM
Зачем высасывать из мухи слона? Используй переменные!

Code: (clickermann) [Select]
$start = 1
$resume = 2
$pause = 3

// ----------------------

switch($state)
case($start)
   logwrite("start")
   LCLICK(320,154)
   wait(1)
case($resume)
   logwrite("resume")
   LCLICK(1171,856)
   wait(1)
   LCLICK(1396,75)
   wait(1)
case($pause)
   logwrite("pause")
   LCLICK(125,900)
   wait(1)
default
   // something else
end_switch
Title: Re: свои константы в сценарии
Post by: ezfalcon on January 31, 2015, 02:40:27 PM
Зачем высасывать из мухи слона? Используй переменные!

Читаем мануал:
Quote
Часть case(x) используется для явного указания значения, где x - ожидаемое значение входной переменной


Соответственно параметр case должен быть константой, например явно указанным числом, текстом или именем константы, как это реализовано в большинстве языков программирования.

Однако, опробовав только что в качестве параметра переменную (неявно заданное значение), получил неожиданный результат - код работает, а не должен.


Добавьте, пожалуйста в будущую редакцию мануала поправку в описание switch и пример кода, учитывающий неожиданно обнаруженный бонус.
Теперь есть дополнительное удобство, которое позволит писать сценарии с большим количеством состояний, без ущерба для читабельности.