A LotusScript programozási nyelv

Operátorok



Operátorok

Aritmetikai operátorok

A jelek precedencia szerinti csökkenő sorrendben:

^ Hatványozás
- Negálás (unáris!)
*, / Szorzás, lebegőpontos osztás
\ Egészrészes osztás
mod Maradékos osztás
+, - Összeadás, kivonás

Hatványozás

Szintaxis: a^b

Operandusok:

Ha a negatív, akkor b egész kell, hogy legyen!

Visszatérési érték: Double vagy Double jellegű Variant. Ha a és b NULL, akkor az eredmény NULL.

	Print 2 ^ 4
	”8”
	

Negálás

Szintaxis: -a

Operandusok:

Visszatérési érték: Ugyanaz, mint a típusa. Kivétel: ha a EMPTY, akkor -a Long. Ha a NULL, akkor az eredmény NULL.

	Print -3
	”-3”
	

Szorzás

Szintaxis: a*b

Operandusok:

Visszatérési érték: Az operandusok közül annak a típusa, amelyik az alábbi lista végéhez közelebb van: Integer, Long, Single, Currency, Double.

Kivételek:

	Print 5*3
	”15”
	

Osztás (lebegőpontos)

Szintaxis: a/b

Operandusok:

Visszatérési érték: Double vagy Variant típusú Double. Ha a és b NULL, akkor az eredmény NULL.

	Print 5/2
	”2.5”
	

Osztás (egészértékű)

Szintaxis: a\b

Operandusok:

Visszatérési érték: Integer vagy Long, vagy ezeknek Variant változata. Ha a és b NULL, akkor az eredmény NULL.

	Print 5\2
	”2”
	

Maradékos osztás

Szintaxis: a mod b

Operandusok:

Visszatérési érték: Integer vagy Long, vagy ezeknek Variant változata. Ha a és b NULL, akkor az eredmény NULL.

	Print 5 mod 2
	”1”
	

Összeadás

Szintaxis: a + b

Operandusok:

Visszatérési érték: Az operandusok közül annak a típusa, amelyik az alábbi lista végéhez közelebb van: Integer, Long, Single, Double. Currency.

Kivételek:

Továbbá: Használható String-ek konkatenálására. Emiatt különböző típusú operandusok különböző típusú eredményeket adnak.

Egyik operandus Másik operandus Alkalmazott művelet
Numerikus Numerikus Összeadás
Numerikus String HIBA
Numerikus Variant (nem NULL) Összeadás
String Variant (nem NULL) Konkatenáció
String String Konkatenáció
Bármi Variant, ami EMPTY-t tartalmaz Az első értékkel tér vissza
Bármi NULL NULL-lal tér vissza
Numerikus jellegű Variant Numerikus jellegű Variant Összeadás
Numerikus jellegű Variant String jellegű Variant Ha a sztring átalakítható numerikussá, akkor összeadás, egyébként HIBA
String jellegű Variant String jellegű Variant Konkatenáció
	Print 3 + 4
	”7”

	Print ”Egy” + ”ketto”
	”Egyketto”
	

Kivonás

Szintaxis: a - b

Operandusok:

Visszatérési érték: Az operandusok közül annak a típusa, amelyik az alábbi lista végéhez közelebb van: Integer, Long, Single, Double, Currency.

Kivételek:

	Print 3 + 4
	”7”

	Print ”Egy” + ”ketto”
	”Egyketto”
	

Relációjelek

A relációjelek mindegyike ugyanakkora precedenciával bír.

= Egyenlő
<>, >< Nem egyenlő
< Kisebb, mint
<=, =< Kisebb, vagy egyenlő, mint
> Nagyobb, mint
>=, => Nagyobb, vagy egyenlő, mint

Szintaxis: a op b

Operandusok:

Visszatérési érték: True (-1) vagy False (0), illetve ha legalább az egyik operandus NULL, akkor NULL.

Továbbá: Az operandusok alapján a relációjelek használhatók numerikus vagy String összehasonlításra.

Egyik operandus Másik operandus Alkalmazott művelet
Numerikus Numerikus Numerikus összehasonlítás
Numerikus Numerikus jellegű Variant, vagy numerikussá konvertálható String jellegű Variant Numerikus összehasonlítás
Numerikus Numerikussá nem konvertálható String jellegű Variant Hiba
Numerikus EMPTY-t tartalmazó Variant Numerikus összehasonlítás, az EMPTY-t 0-vá konvertálva
String String String összehasonlítás
String Variant (nem NULL) String összehasonlítás
EMPTY-t tartalmazó Variant String összehasonlítás
String-et tartalmazó Variant String-et tartalmazó Variant String összehasonlítás
EMPTY-t tartalmazó Variant String jellegű Variant String összehasonlítás, az EMPTY-t ""-gé konvertálva
Numerikus jellegű Variant Numerikus jellegű Variant Numerikus összehasonlítás
EMPTY-t tartalmazó Variant Numerikus jellegű Variant String összehasonlítás, az EMPTY-t 0-vá konvertálva
Numerikus jellegű Variant String-et tartalmazó Variant Numerikus összehasonlítás, a numerikus kifejezés kisebb értékű, mint a String.
EMPTY-t tartalmazó Variant EMPTY-t tartalmazó Variant Mindig egyenlőek
	Print 5 <= 7
	”True”

	Print (3-2) > (5*3)
	”False”
	

Logikai / bitenkénti operátorok

Az alábbi operátorokat használhatjuk logikai érték kifejezésére vagy bitszintű műveletekhez. A jelek precedencia szerinti csökkenő sorrendben:

Not Negáció
And És
Or Vagy
Xor Kizáró vagy
Eqv Egyenlőség
Imp Implikáció

Bitenkénti műveletek

Szintaxis: a op b

Operandusok:

Visszatérési érték: Integer vagy Long, illetve ha valamelyik NULL, akkor NULL.

A következő típuskonverziós szabályok lépnek fel bitenkénti műveleteknél:

	Print 6 And 12      '0110 and 1100
	„4”                 '0100
	

Boolean műveletek

Szintaxis: a op b

Operandusok:

Visszatérési érték: True vagy False, illetve ha valamelyik NULL, akkor NULL.

	Print ((True And False) Or True) Imp False
	”False”

	Print (True Eqv True) Xor (False Eqv True)
	”True”
	

Egyéb operátorok

& Konkatenáció
Is, IsA Objektum típusának ellenőrzése
= Értékadás
	Print „viz” & „vezetek”
	”vizvezetek”