Abkürzungen / Kurzformen von Get,Set,Pull,Put

Kurzformen von Get,Set,Pull,Put

Übersicht

Funktion Kurzform
.get
[]
.pull
[]?
.set
[] =
.put
[]? =

Get

Eine Get-Abfrage kann mit eckigen Klammern abgekürzt werden.

l = [ 3,7,5,2,8 ]
l[4].print

Hier wird das 4. Element der Liste ausgegeben.

t = Table( 2 ).add( 4, 7 ).add( 8, 2 ).add( 3, 5 )
t[2,1].print

In diesem Beispiel wird von der definierten Tabelle das Objekt in Zeile 2 und Spalte 1 ausgegeben.

Da Strings wie eine Liste aufgebaut sind, lässt sich mit "get" ein einzelnes Zeichen abfragen:

"abcdefg"[3].print

Ebenso können die eckigen Klammern für eigene Get-Funktionen benutzt werden:

::get( Int a, Int b ) = a + b

this.get( 2, 5 ).print
this[2,5].print

Benötigt die selbst definierte Funktion keinerlei Argumente, so kann mit "[]" direkt auf "get" zugegriffen werden:

::get = "abc"

this[].print

Pull

Die Kurzform von Pull sind ebenso die eckigen Klammern, allerdings wird noch ein Fragezeichen als Modifier angehängt:

l = [ 3,7,5,2,8 ]
l[9]?.print

".get" würde hier einen Fehler werfen, da die Liste nur 5 und keine 9 Elemente beinhaltet. ".pull" hingegen gibt lediglich "nil" zurück.

Set

Wie bei "Get" kann auch "Set" mit eckigen Klammern verwendet werden. Hierzu wird noch ein "=" angehängt:

l = [ 3,7,5,2,8 ]
l[2] = 9
l.print

Dies kann auch für eigene Funktionen genutzt werden:

::set( obj, pos )
	Print "Let's set " + obj.toExplain + " to position " + pos

this.set( 'a', 5 )
this[5] = 'a'

Ebenso ist folgendes möglich:

::set( obj )
	Print "Set " + obj

this.set( 'a' )
this[] = 'a'

Put

Wie bei "Pull" wird für "Put" an die eckigen Klammern ein Fragezeichen angehängt:

l = []
l[3]? = 9
l.print

Hier soll die Zahl 9 an die Position 3 der Liste gesetzt werden. Da die Liste keine Einträge hat, wird die Liste automatisch verlängert. Leere Positionen werden mit "nil" gefüllt.

- Powered by OghsWiki -

 

 

Unterstützen

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

Erhalten:  0 €