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 использованием колбеков.

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