Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
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», надо вставить ключ.
Интервенция против иены ударила по доллару и дала евро новый импульс
EURUSD прервала снижение и перешла в уверенный рост в пятницу торгуясь на 0.3% выше открытия, хотя еще накануне пара опускалась до 1.1650. Повлияло как ужесточение риторики ЕЦБ, так и история с...
«ЛампаТрампа» покорила Пермь и узнала, как инвестировать во времена нестабильности. В центре внимания — решение ЦБ, прогнозы по ставке и реальное положение дел в экономике. Как собрать портфель,...
Результаты «М.Видео» по МСФО за 2025 год не оправдали наших ожиданий
30 апреля на фоне умеренного роста фондового рынка наравне с рынком выросли акции ретейлера «М.Видео», подорожавшие на 0,73% до 61,75 руб. за бумагу. Ретейлер «М.Видео» опубликовал поздно...
Возвращение легендарных дивидендных увертюр: ЛУКОЙЛ при нефти по 120$ с дивидендом 5% - упущение или находка?
Рынок продолжает катиться в бездну (хотя на самом деле просто не растет) на нефти в 110-120$ и ставке ЦБ РФ в 14,5% (как будто год назад было лучше?)
В любом случае у инвестора в...
alexandrstroys1, есть НРД для заявления в реестр требований кредиторов когда нет ПВО. Это их так сказать законодательный минимум. Активно участвовать в банкротстве они не будут. От силы будут голос...
Кстати, еще один фактор за выкуп. Сейчас средневзвешенная цена максимально низкая, и если объявить оферту, то скорее всего мало кто захочет продать акции «на дне», и магниту не придется тратить на неё...
Союз Спекулянтов, А чё по-французски? На ФОТО? У фирмы же название — официально — русскими буквами, а вы тут Францию на фото устроили. RF это ж общеизвестное… République Française
Копы в Глубоком Запасе
«Копы в глубоком запасе» — это комедийный боевик, который рассказывает историю двух необычных нью-йоркских детективов, Аллена Гэмбла и Терри Хойтса.Гэмбл (сыгранный Уиллом Фе...
Про нефть, ОАЭ, рост добычи и возможности России. ОАЭ готовились давно к росту добычи. Сделаны инвестиции и их надо отбивать.
У них какая идея?
Скоро будет зелёная энергетика и нефть будет нужна ...
Ограничения на вывоз золота в слитках из РФ вступили в силу с 1 мая..... Здравствуйте!)… (Сонная ЗаяЦЪ приветствует вас попивая чаёк, присыпая в удобнейшем кресле, почитывая новостЯ)… Удивительные нов...
Зацитирую:
Все строковые константы переводятся автоматически в верхний регистр. Но в случае необходимости можно отменить автоматический перевод символов в верхний регистр. Для этого необходимо между заголовком и телом программы добавить следующую строку: USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа имена строковых констант не будут переводиться в верхний регистр, а будут оставаться такими, какие они есть.
Т.е. тут речь про строковые константы, типа «SiZ2» — чтобы они не становились «SIZ2», надо вставить ключ.
пока не сделаешь обрамление
if 1==1
end if