Einführung in die Definition von Objekten
Über Formeln, Variablen und Funktionen
Eine Formel ist ein Term, der aus bestimmten Werten einen anderen Wert berechnet und dabei auf Operatoren, Funktionen, Werte (Skalare) und Variablen und Klammern zurückgreifen kann.
example
jahr=>2005 name=>'peter' x=>11 differenz=>'$_[0]-$_[1]' vart_ko=>'$_[0]+differenz[$_[0],$_[1]' -title=>'Bericht aus dem Jahr $($j-1)'
Identifizierung eines Datensatzes
Jeder Wert aus der Datenbank kann über drei Parameter identifiziert werden:
wert = n(jahr,einrichtung,feldnummer) = n(j,id_ref,x)
example
n(2005,10313,680) = anzahl publikationen der kuffner sternwarte im jahr 2005
In der Formelnotation würde das zB so aussehen:
n($j,$id,$x) n($j,$id,680) n(2005,10313,$a) n($jahr-1,$einrichtung,$feldnummer)
n ist also auch einfach eine Formel/Funktion welche den Datensatz aus der Datenbank holt
Objekte
Objekte sind alle Tabellen, Diagramme, Analysen etc. - also fast alles.
Die Definition von Objekten folgt immer folgender schematischer Struktur.
{-type=>'TYPE',
var1=>wert1,
var2=>wert2,
-LIST1=>[ ... ],
-LIST2=>[ ... ],
-extra=>{ ... },
-titel=>'TITEL'
}
Syntax
Ein Objekt wird also von geschwungenen Klammern eingeschlossen, die innen alle nötigen Informationen über dieses Objekt enthalten. Diese Informationen nennen wir Parameter des Objects. Dabei gibt es feste Parameter, die immer mit einem “-” beginnen. -type ist so ein fester Paramter. Diese festen Parameter legen die Funktion und Gestalt des Objekts fest. Zusätzlich können variable Parameter, sogenannte Variablen definiert werden, die für das ganze Objekt und alle Unterobjekte Gültigkeit haben. Anzahl und Namen der Variablen ist nicht beschränkt. Falls in einem übergeordneten Objekt Variablen gleichen Namens existieren, werden diese Werte für den Gültigkeitsbereich dieses Objekts und der Unterobjekte überschrieben.
Die meisten Objekte benötigen viele Parameter, darunter auch komplexe Parameter, die wieder als Objekt definiert werden (zB Spalten in einer Tabelle, die eine Formel definieren). Diese Unterobjekte werden bei jedem Objekttyp genau beschrieben.
Es wird auch nötig sein, Listen von Objekten zu definieren, deren Reihenfolge wichtig ist (zB Zeilen in einer Tabelle). Diese Objekte werden in eckige Klammern [ .. ] gefasst.
Die formale Konstruktion eines Objects ist also nicht einfach, aber sehr mächtig und nach einiger Gewöhnung auch sehr rasch handhabbar. Da der Syntax sehr wichtig ist, hier noch einmal die wichtigsten Punkte:
- Objekte werden von geschwungenen Klammern { .. } umfasst
- geordnete Listen von Werten oder Objekten werden von eckigen Klammern [ .. ] umfasst
- Parameter auf gleicher Ebene werden durch ein Komma getrennt
- nie ein komma vor einer schliessenden Klammer )]}
- feste Parameter, die das Objekt beschreiben beginnen immer mit “-”
- frei definierte Variablen beginnen nie mit “-”
- parameter werden mit => definiert : parameter=>wert
- Texte und Formeln werden mit ' umschlossen: ‘text’
- es müssen immer gleich viele Klammern geschlossen wie geöffnet werden
Tabellen
Tabellenobjekte
Diagramme
Diagrammobjekte
Container
Containerobjekte



