Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
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
....
Следствие
а) либо четко контролировать, где какая переменная используется, либо давать им имена-префиксы, делая переменными уникальными (что сильно усложняет отладку)
б) присваивать RESULT непосредственно перед RETURN
в) там где можно не использовать функции и по возможности не использовать рекурсию (или четко осознавать, что там может происходить)
3. Все аргументы передаются по значению.
4. Есть очень красивая структура создания словаря в одну строку, не плодя переменные:
SET_VALUE(SET_VALUE(CREATE_MAP(),«name1»,«value1»),«name2»,«value2») такого рода запись можно подставлять в параметры к-либо функции
это чуть чуть облегчает отладку — в списке переменных нет того, что не нужно.
5. GET_VALUE всегда возвращает текстовые данные
6. Нумерация таблиц 1… len
Нумерация списков 0… len-1
bar$, Если я правильно понял инструкцию, то USE_CASE_SENSITIVE_CONSTANTS на переменные не влияют…
Зацитирую:
Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку: USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа имена строковых констант не будут переводиться в верхний регистр, а будут оставаться такими, какие они есть.
Т.е. тут речь про строковые константы, типа «SiZ2» — чтобы они не становились «SIZ2», надо вставить ключ.
Лента завершила 2025 год с выручкой более 1 трлн руб.
Публикация операционных результатов Ленты за четвертый квартал и весь 2025 год подтверждает, что компания входит в новый стратегический цикл в сильной позиции. Розничные продажи торговой сети с...
Долги «Самолета» и обвал биткоина: разбор активов, которые еще интересны
Критическое долговое положение «Самолета» заставляет посмотреть шире на риски остальных девелоперов — и на последствия для металлургов, чья выручка напрямую зависит от количества строек. Почему...
Комментарий аналитиков БКС. Биткойн: активная фаза снижения в рамках фазы «дораспределения»
По состоянию на начало февраля биткойн скорректировался к уровню $60 тыс., предварительно реализовав технический отскок, о котором мы писали ранее. Текущую динамику мы по-прежнему оцениваем как...
Почему продавал ЯНДЕКС Яндекс
По дневнымВ самом начале декабря писал про покупку ЯНДЕКС
Покупка была спекулятивной, под увеличение веса в индексе Мосбиржи ещё на 3% до 7.6% с 19 12 2025г.Стараюсь ...
📅 Торговый план: ЗОЛОТО (XAUUSD) - 9 февраля 2026
✅ ПРОБОЙ 5000: БЫКИ ВОССТАНАВЛИВАЮТ КОНТРОЛЬ НАД КЛЮЧЕВЫМ РУБЕЖОМ
▫️ Пятничное закрытие на 4965 и сегодняшний рывок к 5047 → уверенный п...
Лента завершила 2025 год с выручкой более 1 трлн руб. Публикация операционных результатов Ленты за четвертый квартал и весь 2025 год подтверждает, что компания входит в новый стратегический цикл в сил...
«Электрорешения» 19 февраля проведет сбор заявок на облигации объемом 1 млрд.₽
ООО «Электрорешения» представитель бренда EKF в России, занимается разработкой, производством и продажей электрооборуд...
Зацитирую:
Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку: USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа имена строковых констант не будут переводиться в верхний регистр, а будут оставаться такими, какие они есть.
Т.е. тут речь про строковые константы, типа «SiZ2» — чтобы они не становились «SIZ2», надо вставить ключ.
пока не сделаешь обрамление
if 1==1
end if