Datenstrukturen / Tabelle

Tabelle

Das "Table"-Objekt bietet eine Tabellen-Datenstruktur.

Wichtig
Eine Tabelle ist nach Zeilen/Spalten aufgebaut, was Y/X entspricht.

Erzeugen

Beim Erzeugen muss die gewünschten Breite der Tabelle übergeben werden.
Anschließend können werte hinzugefügt werden.

t = Table( 2 )
t.add( 4, 3 )
t.add( 2, 5 )
t.print

Es ist auch möglich eine Tabelle zu erzeugen, die bereits eine bestimmte Länge besitzt.
Das dritte Argument legt hierbei fest, mit welchem Wert die Felder initialisiert werden sollen.

t = Table( 2, 5, nil )
t.print

Eine weitere sehr schöne Methode ist ein Table-Block:

t = ||||
	4,3
	2,5
	||||

Print t

Hinzufügen / Ändern

Mit ".add" lässt sich eine Zeile zur Tabelle hinzufügen. Die Anzahl der benötigten Argumente muss dabei mit der Tabellenbreite übereinstimmen:

t.add( 4, 3 )

Der Inhalt eines Feldes kann mit der Funktion ".set" geändert werden. Die Arguments sind hierbei (Objekt, Y, X), also (NeuerWert, Zeile, Spalte):

t.set( "Foo" ,2 ,1 )

Dieser Befehl unterscheidet sich von anderen Programmiersprachen. Durch die Anordnung der Argumente eröffnen sich aber viele Möglichkeiten. Siehe dazu "Schneller Zugriff auf Tabelle", "Kurzformen von Get,Set,Pull,Put" und "Deep Get / Set".

Abfragen

Mit ".get" wird eine Zeile oder ein Feld abgefragt:

t.get(2, 1)

Dies gibt den Inhalt des Feldes von Zeile 2, Spalte 1 zurück.

Eine Zeile oder Spalte lässt sich auch als Liste auslesen:

t.row( 2 )
t.column( 2 )

Info
Zeilen und Spalten werden als Kopie übergeben. Eine Änderung dieser Liste beeinflusst nicht die Tabelle selbst.

Spalten-Titel

Wird eine Tabelle z.B. mit Print ausgegeben, so können Spaltenüberschriften die Lesbarkeit verbessern. Diese werden mit der Funktion ".setTitles" und einer variablen Anzahl an Argumenten gesetzt.

tab = Table(2)
tab.setTitles( "Foo", "Bar" )
tab.add( 5, 2 )
tab.add( 4, 3 )
tab.print

Abrufen lassen sich die Überschriften mit ".getTitles":

Sind die Spalten-Titel gesetzt, so kann eine einzelne Zeile direkt in eine Map umgewandelt werden:

tab.rowMap( 2 )

Initialisieren

Um eine Tabelle mit gleich in der gewünschten Größe zu erzeugen, werden beim Erzeugen 3 Argumente (Breite, Höhe, Füllzeichen) übergeben.

Table( 8, 4, 'a' )

Dies erzeugt eine Tabelle im Format 8 x 4, wobei jedes Feld mit einem 'a' gefüllt ist.

Die Funktion ".init" bietet die Möglichkeit, nachträglich mehrere Zeilen anzuhängen.

Um z.B. 6 leere Zeilen am Ende anzuhängen:

tab.init( 6, nil )

Ebenso lassen sich mehrere Zeilen anhängen:

x = Table(3)
x.init( 2, 'a' )
x.init( 2, 'b' )
x.init( 2, 'c' )
x.init( 2, 'd' )
x.describe
- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €