Author Topic: Можно ли упростить конструкцию? GOTO внутри SUB.  (Read 1320 times)

0 Members and 1 Guest are viewing this topic.

Orotund

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Здравствуйте! Необходим совет опытных людей.
Есть сценарий:
Code: (clickermann) [Select]
#include "Search_Mob.cms"

Start:
Search_Mob_LowRange()
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
Search_Mob_MidRange()
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
Search_Mob_LongRange()
$SearchDetected = 0
GOTO(Start)

Можно ли заменить на это:
Code: (clickermann) [Select]
#include "Search_Mob.cms"

SUB(Breack)
IF($SearchDetected = 1)
                $SearchDetected = 0
GOTO(Start)
END_If
END_SUB

Start:
Search_Mob_LowRange()
Breack()
Search_Mob_MidRange()
Breack()
Search_Mob_LongRange()
$SearchDetected = 0
GOTO(Start)
Я не знаю будет ли работать корректно GOTO внутри SUB.
Можно ли это реализовать с помощью цикла? :(
« Last Edit: July 31, 2016, 02:49:05 AM by Orotund »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Нет, выпрыгивать из подпрограмм и циклов нельзя. Это в большинстве случаев вызывает глюки.
Первый вариант правильный.