Author Archive
Недавно на форуме 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 использованием колбеков.
примечание: программу тестировал не очень. Поэтому если будут ошибки — пишите.