QBS >> Suplementy i dokumentacja techniczna >> Wyrażenia AUTFUN

Wyrażenia AUTFUN

Wyrażenia autfun są zwykłymi wyrażeniami które można budować ze stałych znakowych i liczbowych (jak każde wyrażenie) oraz z identyfikatorów pól. Dodatkowo dostępny jest pewiwen zestaw funkcji:

Typ wyrażenia nie może być statycznie znany, gdyż nie znamy typów pól, a poza tym mamy wyrażenia warunkowe, które zależnie od wartości pól mogą zwracać różne typy. Dlatego typ wartości jest ustalany w trakcie obliczania.


Oto możliwe typy wartości wyrażeń


Każdy typ wartości na jakim mogą operować wyrażenia AutFun musi posiadać następujące określone fukncje (interface AutFunObject):


Poniżej lista dozwolonych opracji dla poszczególnych typów i typy wynikowe:

Dodawanie - ADD
STR LON DBL MON BOO DAT TIM BIN NUL
STR STR STR STR STR STR STR STR - STR
LON STR LON DBL MON LON DAT - - -
DBL - DBL DBL MON - - - - -
MON - MON MON MON - - - - -
BOO - - - - - - - - -
DAT - DAT - - - - - - -
TIM - - - - - - TIM - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Odejmowanie - SUB
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON STR LON DBL MON - - - - -
DBL - DBL DBL MON - - - - -
MON - MON MON MON - - - - -
BOO - - - - - - - - -
DAT - DAT - - - LON - - -
TIM - - - - - - TIM - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Negacja - NEG
TYP STR LON DBL MON BOO DAT TIM BIN NUL
WYNIK - LON DBL MON - DAT TIM - NUL
Mnożenie - MUL
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - LON DBL MON - DAT TIM - -
DBL - DBL DBL MON - - TIM - -
MON - MON MON DBL - - - - -
BOO - - - - - - - - -
DAT - DAT - - - - - - -
TIM - TIM TIM - - - - - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Dzielenie - DIV
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - DBL DBL DBL - DAT - - -
DBL - DBL DBL DBL - - - - -
MON - MON MON DBL - - - - -
BOO - - - - - - - - -
DAT - DAT - - - - - - -
TIM - TIM - - - - - - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Operator równości == - EQU
STR LON DBL MON BOO DAT TIM BIN NUL
STR BOO - - - - - - - -
LON - BOO BOO BOO - BOO - - -
DBL - BOO BOO BOO - - - - -
MON - BOO BOO BOO - - - - -
BOO - - - - BOO - - - -
DAT - BOO - - - BOO - - -
TIM - BOO - - - - BOO - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Operator większości > - GE
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - BOO BOO BOO - BOO - - -
DBL - BOO BOO BOO - - - - -
MON - BOO BOO BOO - - - - -
BOO - - - - - - - - -
DAT - BOO - - - BOO - - -
TIM - BOO - - - - BOO - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Operator boolowski i & - AND
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - - - - - - - - -
DBL - - - - - - - - -
MON - - - - - - - - -
BOO - - - - BOO - - - -
DAT - - - - - - - - -
TIM - - - - - - - - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Operator boolowski lub | - OR
STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - - - - - - - - -
DBL - - - - - - - - -
MON - - - - - - - - -
BOO - - - - BOO - - - -
DAT - - - - - - - - -
TIM - - - - - - - - -
BIN - - - - - - - - -
NUL NUL NUL NUL NUL NUL NUL NUL NUL NUL
Operator boolowski zaprzeczenia ~ - NOT
TYP STR LON DBL MON BOO DAT TIM BIN NUL
WYNIK - - - - BOO - - - -
Wzorzec -
???STR LON DBL MON BOO DAT TIM BIN NUL
STR - - - - - - - - -
LON - - - - - - - - -
DBL - - - - - - - - -
MON - - - - - - - - -
BOO - - - - - - - - -
DAT - - - - - - - - -
TIM - - - - - - - - -
BIN - - - - - - - - -
NUL - - - - - - - - -