Об операторе TOTAL



Posted by Анатолий Анимица (194.177.32.67) on March 02, 2001 at 04:40:33:

In Reply to: Вопрос posted by Олег Грибов on March 02, 2001 at 02:37:32:

Олег Грибов спрашивает?

Почему на оператор TOTAL не действуют ни REWINDы, ни SELECTы? По-моему было бы удобно суммировать какую либо величину за определенный период.


Оператор TOTAL - не единственный удобный сумматор величин в фактах.


y1=<начальное значение>..yn=<начальное значение>
rewind facts range t8,t9
:loop
search <имя факта> ?x1,..?xn
if [success]
y1=y1+x1...
goto loop
endif

позволяют решить ту же задачу за то же время плюс получить множество удобств дополнительно:
а) установить период или отобрать select
б) контролировать тип переменной факта и переменой суммы (y1..yn),
в) проверять условия, которые одними полями условий в полях search или total не отобразить
и т.д.

Наверное, год назад мы уже подробно обсуждали эту тему. И я показывал, как обходиться в total с различными типами одной и той же переменной в ленте фактов. Такие допущения побуждают меня применять total только в строго определенном окружении.

Так что существующая реализация языка не обязательно нуждается в изменения спецификации total, раз и без такого изменения языка все можно написать.

С уважением

ААА



Пpишедшие ответы: