Lausekkeet
Lausekkeet voivat olla reaalilukuja (esim. 3.4), heksadesimaalilukuja
alkaen $-merkillä (esim. $00FFAA), merkkijonoja, jotka ovat heitto- tai
lainausmerkeissä (esim. 'hello' tai “hello”) tai monimutkaisempia
lausekkeita. (Huomaa, että merkkijonot voivat olla monen rivin mittaisia!)
Lausekkeita varten on olemassa seuraavat binäärioperaattorit (suoritusjärjestyksessä):
- && || ^^: totuusarvojen yhdistäminen (&& = and (ja), || = or (tai),
^^ = xor (poissulkeva tai))
- < <= == != > >=: vertailut, palauttavat joko arvon tosi (1) tai epätosi (0)
- | & ^: bittitason operaattorit (| = bittitason or (tai), & = bittitason and (ja), ^
= bittitason xor (poissulkeva tai))
- << >>: bittitason shift-operaattorit (<< = siirrä bittejä vasemmalle, >
> = siirrä bittejä oikealle)
- + -: addition, subtraction
- * / div mod: kerto- ja jakolasku, jakolaskun kokonaisosa ja jakojäännös
Huomaa, että lausekkeen x div y arvo on lausekkeen x/y arvo pyöristettynä
nollan suuntaan lähimpään kokonaislukuun. Operaattori mod palauttaa jakojäännöksen
operaation osiensa jakolaskusta. Toisin sanoen, x mod y = x - (x div y) * y.
Lisäksi käytettävissä ovat seuraavat ei-binääriset operaattorit:
- !: not (ei), muuttaa toden epätodeksi ja päinvastoin
- -: muuttaa seuraavasta luvusta sen vastaluvun
- ~: muuttaa seuraavasta luvusta sen vastaluvun bittitasolla
Arvoina voi käyttää lukuja, muuttujia tai arvon palauttavia funktioita.
Alilausekkeita voi asettaa sulkeiden väliin. Kaikki operaattorit
toimivat reaalilukujen kanssa. Vertailut toimivat myös merkkijonojen kanssa
ja + yhdistää merkkijonot. (Huomaa, että toisin kuin joissain ohjelmointikielissä,
molemmat totuusarvo-operaation argumentit lasketaan aina, vaikka toinen argumentti
määrittäisikin jo tuloksen.)
Esimerkki
Tässä esimerkissä on käytetty muutamia erilaisia sijoituksia.
{
x = 23;
color = $FFAA00;
str = 'hello world';
y += 5;
x *= y;
x = y << 2;
x = 23*((2+4) / sin(y));
str = 'hello' + " world";
b = (x < 5) && !(x==2 || x==4);
}