Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
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», надо вставить ключ.
USD/JPY: пара возобновила рост на фоне японской неопределенности
Японская йена с началом нового года продолжила свое снижение после долгого периода консолидации, достигнув новых локальных экстремумов. Одним из ключевых факторов, влияющих на пару, стала...
Тактика доверительного управления Иволги Капитал (17,5-24,1% средняя доходность счетов за всё время)
0️⃣ Предпосылки и предположения ( предыдущий пост – здесь )
• Средняя полученная доходность всех портфелей доверительного управления в ИК Иволга Капитал – 17,5-24,1% годовых после вычета...
Ордер-менеджмент в реальном времени: решения для крупных участников рынка
Ордер-менеджмент в реальном времени: решения для крупных участников рынка
Можно ли удобно управлять ордерами и собирать статистику, если выбор программ для алгоритмической торговли...
Минфин разъяснил порядок взимания НДС по платежам с 1 января 2026 года: СБП не облагается, а эквайринг и выпуск карт с обслуживанием под налогом — Ъ Минфин в конце декабря 2025 года направил в Банк Ро...
Минфин разъяснил порядок взимания НДС по платежам с 1 января 2026 года: СБП не облагается, а эквайринг и выпуск карт с обслуживанием под налогом — Ъ Минфин в конце декабря 2025 года направил в Банк Ро...
Егор Кожемякин, инфляция — никуда от нее не денешься. Ну не может расти благосостояние одного гегемона все время только в административном порядке за счет низких цен на сырье. Все постепенно приход...
Рынок МФО начал постепенно охлаждаться в 2025 году, в ЦБ ожидают продолжения этого тренда в 2026 году — ТАСС Рынок микрофинансовых организаций начал постепенно охлаждаться в 2025 году, в Банке России ...
Компания «Евротранс» 19 января проведет сбор заявок на пятилетние облигации серии БО-001Р-09. Объем выпуска составит 2,5 млрд руб., сообщает «Интерфакс» со ссылкой на источник на финансовом рынке.
...
Вчера начали откупать 02, 05, 06. Может перерастет в тенденцию?
Следующий купон по 02 23-го, это пятница. По новым правилам НРД деньги перечислит брокерам только в понедельник 26-го. Если сообщение ...
Новые облигации ВУШ 1Р5 и 1Р6 с доходностью до 23% на размещении
ВУШ (Whoosh) — разработчик технологических решений для микромобильного транспорта и крупнейший российский оператор электросамокат...
Зацитирую:
Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку: USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа имена строковых констант не будут переводиться в верхний регистр, а будут оставаться такими, какие они есть.
Т.е. тут речь про строковые константы, типа «SiZ2» — чтобы они не становились «SIZ2», надо вставить ключ.
пока не сделаешь обрамление
if 1==1
end if