Недавно на форуме QUIK возник вопрос

«Каким образом организовать очередь с  с произвольным доступом.

Вот мое решение: nk_queue

————очередь ————————————-
— автор Николай Камынин kamnik@mail.ru —2015
———————————————————
—new(M) — создать очередь M — максимальная длина
—push( Q,V) — поставить  V в очередь Q
—V=pop( Q) — вытолкнуть первый элемент из очереди
—V=get(Q,P) — прочитать элемент с номером P
—set(Q,P,V) — заменить элемент с номером P
—full(Q) — проверить заполненность очереди
———————————————

Программы написаны на чистом LUA и оформлены в виде модуля.

Необходимо в скрипте загрузить данный модуль

require «nk_queue»

—после этого можно работать с программами следующим образом:

q=nk_queue.new(10) — создать очередь максимальной длиной 10 элементов
nk_queue.push(q,100); — поставить в очередь 100

ну и так далее.

Создание очередей необходимо при построении роботов в QUIK c использованием колбеков.

примечание: программу тестировал не очень. Поэтому если будут ошибки — пишите.

This entry was posted on Понедельник, 2 февраля, 2015 at 20:39 and is filed under Разное, торговые роботы (МТС). You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Comments are closed at this time.