Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
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», надо вставить ключ.
Делимся обновленными результатами и ключевыми показателями на 23 марта
Друзья, привет! ✅ Делимся обновленными результатами и ключевыми показателями: с начала года мы уже передали нашим клиентам 7567 ключей от квартир и коммерческих помещений, что на 20% больше,...
Записки инвестора. Ключевые тренды и события на рынке
«Записки инвестора» — еженедельная рубрика для быстрого погружения в рынок. Мы выделяем самые важные события, за которыми стоит следить — и вы можете пробежаться по ним буквально за пару минут....
Российский фондовый рынок за последние годы заметно изменился. Частные инвесторы перестали быть дополнительным источником ликвидности и сегодня формируют значимую часть спроса на акции и...
X5 МСФО 2025 г. - капзатрат меньше, дивиденд больше?
Компания X5 опубликовала финансовые результаты за 2025 год. Выручка прибавила +18,8% до 4,6 трлн руб., в 4-м квартале рост на 14,9% до 1,24 трлн руб. Валовая прибыль за год выросла на +17,9%...
с одной стороны я уже досиживал недавно до 24… нужно было по 33 выскочить и забить на потери.
если остаться сейчас — локти кусать можно бесконечно. непонятно когда обратно вернётся хотя бы к пол...
⚡Рубль стремительно укрепляется
На 5% рубль вырос с заседания ЦБ. Разгоняли спекулянты, а не реальный спрос, теперь фиксируют.
На следующей неделе налоговый период, самый большой в году, п...
Чистая прибыль Акрона по МСФО за 2025 год выросла на 30,3% г/г до ₽39,77 млрд, выручка ₽237,6 млрд (+20% г/г) Акрон МСФО 2025 год:
📈Выручка ₽237,6 млрд (+20% г/г)
📈Чистая прибыль ₽39,77 млрд (+...
В 2025 году «Сибстекло» получило рекордную выручку По предварительным оценкам, выручка ООО «Сибирское стекло» («Сибстекло») за 2025 год достигла порядка 9 млрд руб., для сравнения: показатель за 2024 ...
тормоза в менеджере уведомлений ТС Лаба - у меня уже около 1 час задержка сообщений у кого-нибудь ещё такие же проблемы есть? или это моя локальная заморочка? Авто-репост. Читать в блоге >>>...
Зацитирую:
Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку: USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа имена строковых констант не будут переводиться в верхний регистр, а будут оставаться такими, какие они есть.
Т.е. тут речь про строковые константы, типа «SiZ2» — чтобы они не становились «SIZ2», надо вставить ключ.
пока не сделаешь обрамление
if 1==1
end if