Пишу робота, в процессе выясняются некоторые фишки языка, не зная которых можно нарваться на большие проблемы.
Решил поделиться.
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
Как программист с 22-летним стажем и десятками изученных (и забытых :)языков, могу только тихо сказать, — какой ужас…
А почему вы не пользуетесь платформой S#, я помню, там точно есть привод для квика и плазы.
Написано все на C#, с десяток приводов на разные платформы, вроде как сам S# бесплатный, документация нормальная, есть курсы.
VDev, ну я роботов особо не пишу…
Сам раньше так же к QPile относился, спустя неделю общения с ним отношение в принципе, не изменилось, но писать на нем вообще, как оказалось, можно. :) Правда сначала пришлось написать подсветку синтаксиса, ибо без нее тяжко.
Не сильно быстрый язык, но и не настолько тормозной, как пугали.
Он, как оказалось, очень удобен, если надо составить табличку с какими-то важными текущими данными: со сторонними библиотеками получится что-то неадекватно громоздкое, а тут все в Квике, автоматом загружается, работает.
C# не воспринимаю… С одной стороны, зная основы C, не могу понять, что написано даже в хороших, рабочих кодах C#. С другой — это продукт микрософта, а они ничего достойно работающего за последнее время не сделали — все у них глючит. Ну и скриптовые языки я очень люблю. Питон — наше всё! :)
Евро и фунт разошлись: ЕС получает “позитив данных”, UK - “налог неопределенности”
EUR/USD начал неделю резким движением вверх бросая вызов 1.19. Доллар теряет опору из-за переоценки будущих ставок ФРС, евро в этот момент получает редкий бонус — улучшение настроения деловой...
«Селигдару» присвоен ESG-рейтинг A от рейтингового агентства RAEX
RAEX оценило на высоком уровне практики устойчивого развития Холдинга, присвоив ему по результатам проведенного анализа ESG-рейтинг класса A. Наивысшая оценка AAA была присуждена...
Торги 9 февраля на российских фондовых площадках проходили на отрицательной территории. К последнему часу основной сессии номинированный в рублях индекс Мосбиржи опустился на 0,36%, а долларовый...
РУСАГРО: выкупить акции и спасти Мошковича - могут ли акции вырасти на 100% от текущих ценах, подробный разбор
Начинаем покрытие компании РУСАГРО этим постом, надеюсь удастся под микроскопом разглядеть инвестиционную привлекательность или хотя бы сделать пост полезным/интересным. Пост будет длинным,...
FreeBird, сори, не буду тебя убеждать )) всему своё время… отмечу только, что поиски всего лучшего( детерминизм в т.ч.) и т.п. это бесконечный и тупиковый путь в Вероятностной игровой среде. Это тя...
Я б описал этот вид деятельности так:
Берут деньги в долг, строят супермаркеты( заправки). Отдача: постоянные покупатели ( в отличии от супермаркетов, за бензином не пойдут на маркетплейс).
Есть...
Такое ощущение, что кто то сегодня начал набор позы. Причем набирает, набирает, потом малым количеством лотов цену придавливает, пользуясь разряженностью стакана. Показывает, что типа волатильность, н...
Booppa, у Вас довольно оптимистичный вариант, но не лишён аргументов. Есть и другие прогнозы. больше всего ситуация говорит о 13-14,5/акцию. Но как будет в реальность — пока неизвестно. им нужно ка...
пока не сделаешь обрамление
if 1==1
end if
Это в каких случаях?
А почему вы не пользуетесь платформой S#, я помню, там точно есть привод для квика и плазы.
Написано все на C#, с десяток приводов на разные платформы, вроде как сам S# бесплатный, документация нормальная, есть курсы.
Сам раньше так же к QPile относился, спустя неделю общения с ним отношение в принципе, не изменилось, но писать на нем вообще, как оказалось, можно. :) Правда сначала пришлось написать подсветку синтаксиса, ибо без нее тяжко.
Не сильно быстрый язык, но и не настолько тормозной, как пугали.
Он, как оказалось, очень удобен, если надо составить табличку с какими-то важными текущими данными: со сторонними библиотеками получится что-то неадекватно громоздкое, а тут все в Квике, автоматом загружается, работает.
C# не воспринимаю… С одной стороны, зная основы C, не могу понять, что написано даже в хороших, рабочих кодах C#. С другой — это продукт микрософта, а они ничего достойно работающего за последнее время не сделали — все у них глючит. Ну и скриптовые языки я очень люблю. Питон — наше всё! :)