Manchmal ist es nötig, Objekte unter weiteren Namen und Namensräumen zu definieren. Dies ist durch Referenzen möglich. Diese haben einen vom Original-Objekt unabhängigen Header.
Eine Referenz auf ein Objekt wird durch den Pfeil-Operator ->
erstellt. Links vom Pfeil steht die zu definierende Referenz und rechts das originale Objekt, auf welches die Referenz gesetzt werden soll.
calculate(term.s){
out term << " = " << term:eval
}
calc -> calculate
'Beide Objekte haben den gleichen Effekt:
calculate("1 + 1")
calc("10/2 * 5")
Durch die Klassenmethode import
, kann man alle Unterobjekte einer Gruppe in die jeweilige Gruppe durch Referenzen einbinden. Somit kann man nur durch eine Zeile eine ganze Bibliothek in einem globalen Namensraum (z.B. main
) gültig machen.
out math\sin(45°)
main:import(math)
out sin(45°)
Alle Unterobjekte aus math
wurden in diesem Beispiel als Referenzen in main
angelegt. Da main
global ist, können nun alle mathematischen Funktionen ohne Gruppenangabe angesprochen werden.