Author Topic: свои константы в сценарии  (Read 2984 times)

0 Members and 1 Guest are viewing this topic.

ezfalcon

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
свои константы в сценарии
« 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 не есть гуд
« Last Edit: January 29, 2015, 11:18:44 PM by ezfalcon »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: свои константы в сценарии
« Reply #1 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

ezfalcon

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: свои константы в сценарии
« Reply #2 on: January 31, 2015, 02:40:27 PM »
Зачем высасывать из мухи слона? Используй переменные!

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


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

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


Добавьте, пожалуйста в будущую редакцию мануала поправку в описание switch и пример кода, учитывающий неожиданно обнаруженный бонус.
Теперь есть дополнительное удобство, которое позволит писать сценарии с большим количеством состояний, без ущерба для читабельности.
« Last Edit: January 31, 2015, 02:43:38 PM by ezfalcon »