Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
1. Все переменные преобразуются в верхний регистр (относительно очевидная штука) .
Пример.
MYVALUE и myValue — это одни и те же переменные
2. У переменных нет «области видимости» — любая переменная является глобальной в классическом понимании.… и даже «RESULT». Фактически функции — не функции, а блоки кода, которые подставляются в указанные места.
Пример:
FUNC Fn()
FOR i from 1 TO 5
....
FLAG = False
END FUNC
' тело программы
....
flag = True
FOR i FROM 1 TO 10
value = Fn() 'теперь i=5, flag = False
....
Следствие
а) либо четко контролировать, где какая переменная используется, либо давать им имена-префиксы, делая переменными уникальными (что сильно усложняет отладку)
(
Читать дальше )