Létezik három művelet, amely minden osztályra alkalmazható: az értékadás (:=), az egyenlőségvizsgálat (=) és az egyenlőtlenség vizsgálat (<>). Az értékadás egy objektum referenciát rendel a változóhoz. Az objektum maga nem másolódik át. A nyelvben létezik szimultán értékadás. Ekkor a jobboldali változók kiértékelődnek (nem meghatározott sorrendben) és megfelelő sorrendben hozzárendelődnek a baloldaliakhoz. A jobb oldal kiértékelése mindig befejeződik a hozzárendelések előtt.
A összehasonítások két értéket hasonlítanak össze. Az értékek mindig objektum referenciák.
A result igaz, ha a és b ugyanarra az objektumra hivatkozó referencia. a<>b igaz, ha a és b nem ugyanarra az objektumra hivatkozó referencia.
A komformitás fogalma a következőt jelenti.
Egy B típus komform egy A típushoz, ha
Ez az utasítás megengedi, hogy hozzárendeljünk egy tetszőleges osztály változójához, a-hoz egy alosztályának változóját, b-t. Egy ilyen hozzárendelés akkor biztonságos (nem ad típushibát), ha az a dinamikus típusa komform a b statikus típusához. Ezt nem lehet statikusan meghatározni.
Statikusan a hozzárendelés sikere nem garantált, mert az x hivatkozhat egy A dinamikus típusú objektumra. Ebben az esetben a hozzárendelés sikertelen, mert a b nem tartalmazhat A típusú referenciát. De x hivatkozhat B dinamikus típusú objektumra, ekkor a művelet sikeres lesz. Ha az x dinamikus típusa komform az y statikus típusához, a hozzárendelés megtörténik, egyébként az y-hoz a nil érték rendelődik hozzá.
Példa:
Az is kulcsszó ellenőrzi, hogy egy változó típusa megegyezik-e a megadottal. Az eredmény egy logikai érték. Az ident is Mytype kifejezés igaz, ha az ident dinamikus típusa komform a Mytype-hoz.
Példa:
A create kulcsszó a megadott osztály egy objektumát hozza létre és lefuttatja a létrehozó rutinját. Az osztály neve után felsorolt paraméterek meg kell feleljenek a létrehozó rutin paramétereinek. Ha létrehozó rutinnak nincs paramétere, akkor create hívást paraméter nélkül kell megtenni. (Ha az osztály nem specifikál létrehozó rutint, akkor egy paraméter nélküli default rutin generálódik).
Példa:
A this az éppen aktív objektumra mutat. Arra használható, hogy megfeleltessük az aktuális objektum referenciát más objektumoknak.
Az eljáráshívás olyan rutin hívását jelenti, amely nem ad vissza értéket.
Az eljárás lehet belső, vagy külső eljárás. Belső eljárásnak nevezzük azon eljárásokat, amelyeket az eljáráshívást tartalmazó osztályban definiáltunk. Külső eljárás olyan eljárás, amelyet más osztályban definiáltunk. A külső eljáráshívásokat egy objektumazonosító vezeti be, amelyet egy pont (.) választ el az eljárás nevétől. Ha az eljárásnak van paramétere, akkor a hívásnál megadjuk az aktuális paramétereket zárójelek között. Ha nincs paramétere, elhagyjuk a zárójeleket.
A return utasítás egy rutinból való visszatéréshez használható.
A return utasításnak nincsen paramétere. Ha a rutin egy függvény, minden visszatérési értéknek értéket kell adni a return végrehajtása előtt.
Az I/O a Blue-ban a nyelv által nyújtott standard osztályokon és objektumokon keresztül történik. Két csoportja van az I/O osztályoknak: egy csoport a szöveges I/O számára, és egy a grafikus felületépítésre. A grafikus felületre itt most nem térünk ki.
A Blue négy környezeti változót biztosít az input/output-ra: input, output, terminal, és format. Ezek a változók előre definiáltak, és minden osztályból elérhetők.
A beviteli műveletek a standard inputról az integerek, a valósak, a
boolean és a string típusú értékekhez vannak előre definiálva. Az alábbi
aliasokkal valósították meg ezeket:
Példa:
Ezen rutinok mindegyike függvény, mely referenciát ad vissza a megfelelő típusra.
A readInt és a readReal elnyeli a fehérelválasztó és sorvége karaktereket. Formátumhiba esetén nil-t adnak vissza. A readStr sor vagy file végéig olvas.
Két fajtája van az elágazásnak, az if-es és a case-es.
Ha a case-ben lévő halmazok nem diszjunktak, akkor az először illeszkedő ág hajtódik végre.
Csak egy ciklus létezik a nyelvben. Ez a loop...end loop környezettel lett definiálva. A ciklusból az exit on kulcsszóval lehet kilépni, amely kulcsszó a ciklus része. A ciklus elejére vagy végére téve a kulcsszót lehet elérni az elől vagy hátul tesztelős ciklust (mely megfelel a while...do és repeat...until ciklusnak a Pascalban).
Az exit nélküli loop fordítási hibát okoz. Exit utasítás nem szerepelhet cikluson kívül. Beágyazott ciklusban az exit csak a legbelső ciklusból való kilépést eredményezi. Külsőbb ciklusból való kiugrásra nincs lehetőség.