Baum-Struktur (Tree)
Mit "Tree" steht in JayMo eine Baum-Struktur zur Verfügung.
Erzeugen
Ein Tree-Objekt wird ohne Argumente erzeugt.
Tree
Eine einfache und übersichtliche Art um einen Baum mit Inhalt zu definieren bietet der Tree-Block.
Hinzufügen / Ändern
Ein Baum besteht aus dem Tree-Objekt und vielen Nodes (Knoten) die daran und aneinander angehängt werden.
Jede Node besitzt einen Schlüssel (key) und kann auch einen Wert (value) haben.
Eine neue Node wird wie folgt hinzugefügt:
t = Tree
t.add( "Foo" )
Mit "get" lässt sich eine Node abfragen, um z.B. an diese weitere Nodes anzuhängen:
node = t.get( "Foo" )
node.add( "Bar" )
node.add( "Bak" )
Mehrere Nodes lassen sich mit der Funktion ".addNodes" hinzufügen:
node.get( "Bak" ).addNodes( "Bak1", "Bak2", "Bak3", "Bak4" )
Hier wird das vorhin hinzugefügte Node "Bak" abgefragt und anschließend 4 neue Nodes daran angehängt.
Ausgeben
Mit der Funktion "show" lässt sich der Baum übersichtlich ausgeben:
t.show
Werte
Jede Node besitzt einerseits einen Namen, andererseits aber auch eine Wert.
Mit der Eigenschaft "value" lässt sich der Wert einer Node setzen:
t.get( "Foo" ).setValue( 'a' )
Abrufen lässt sich der gesetzte Wert wieder mit:
t.get( "Foo" ).getValue
Der Funktion ".add" kann auch der Wert gleich als zweites Argument übergeben werden.
t.add( "My value", 123 )
Löschen und Entfernen
Ein Zweig kann mit ".delete" gelöscht werden:
t.delete( "Abc" )
Mit der Funktion ".remove" lassen sich Nodes aus dem Baum entfernen, egal wo sie sich befinden:
t.remove( "Xyz", "Abc" )
Schnellzugriff
JayMo ist für die Navigation durch Bäume optimiert. Dies ist hier weiter beschrieben: