Objekt

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Ein Objekt dient als Oberklasse aller sogenannten Terminale. Terminale nennen wir alles, was sich nicht weiter reduzieren lässt. Hierzu gehören:

Nicht dazu gehört z.B. die Funktion '3+1'. Die Parameter sind in diesem Fall jeweils zwei Objekte des Typs Ganzzahl.

Mithilfe von sogenannten Konstruktoren könne diese Objekte erzeugt werden. Beispielsweise ein Vektor hat den Konstruktor vector().

Diese Objekte können in den Variablen [var=***] gespeichert werden. Alle Terminale werden zum Beispiel in einem Task, einem Advice oder einem Feedback durch ihre jeweilige LaTeX Repräsentation dargestellt. Gleichzeitig können diese Variablen in jeder folgenden Anweisung für den Evaluator wiederverwendet werden. Eine einmal erstellte Matrix lässt sich so zum Beispiel in eine Liste packen.

  <option name="matrixA" value="matrix(matrixrow(1,2),matrixrow(3,4)" />
  <option name="Liste1" value="list([var=matrixA],2,3,4)" />

Typen

In den jeweiligen oben genannten Typen lässt sich nachlesen, wie diese erstellt werden. Außerdem lässt sich dort nachlesen, welchen Bereich diese jeweils abdecken.

In der folgenden Tabelle wird veranschaulicht, welche Typen sich ersetzen können. D.h. zum Beispiel die Funktion Concat erwartet als Parameter Zeichenketten. Es ist aber auch möglich Ganzzahlen einzugeben, da diese automatisch in Zeichenketten übersetz werden. Die Tabelle ist wiefolgt zu lesen: Objekt Z kann durch Objekt S ersetzt werden. (Z = Zeile, S = Spalte).

Ganzzahl Gleitkommazahl Zeichen Zeichenkette Ausdruck Vektor Matrix List
Ganzzahl ja nein nein nein nein nein nein nein
Gleitkommazahl ja ja nein nein nein nein nein nein
Zeichen ja ja ja nein nein nein nein nein
Zeichenkette ja ja ja ja nein nein nein nein
Ausdruck ja ja ja nein ja nein nein nein
Vektor nein nein nein nein nein ja nein nein
Matrix nein nein nein nein nein nein ja nein
List ja ja ja ja ja ja ja ja