[Dies ist eine vorläufige Dokumentation und ist veränderbar]

Aufruf gerufen

Eine der interessantesten Logoeigenschaft ist, dass die meisten Elemente der Sprache dynamisch sind. Und zunächst lasst uns den Variablenraum betrachten.

In Logo können die Variablen global oder lokal definiert werden. Global natürlich, kann irgendeine Prozedur den Wert einer globalen Variablen erhalten und setzen. Lokal, die Prozedur, wo die Variable erklärt ist, kann mit der Variablen umgehen aber, im Gegensatz zu den meisten anderen Programmiersprachen, kann irgendeine Prozedur Variable auf die gleiche Weise behandeln. Liogo implementiert gänzlich den Logo-Variablenspeicher. Hier ist ein Probebeispiel:

pr gerufen :anderer
    druckezeile :param
ende

pr aufruf :param
    druckzeile :glob
    gerufen [anderer parameter]
    ;druckezeile :anderer    ; Fehler, "anderer"  existiert hier nicht mehr
ende

setze "glob [Globale Größe]
aufruf [Parameter]
;druckezeile :param    ; Fehler, "param" existiert hier nicht mehr

Speicher kartiert Prozedur

Falls Sie eine Erfassung in Logo ausführen, starten Sie einen mehrmaliger Aufruf des erfassten Templates. Mit gerade einer einzigen Codezeile können Sie wiederholend eine Prozedur aufrufen. Lasst uns ein erstes Probebeispiel mit einer Liste sehen:

pr erhalte.Erste :l
    rg erfasse "er :l
ende

druckezeile erhalte.Erste [Gnu Not Unix]

Hier bedeutet  "erfasse": Rufe "erstes" bei jedem Element der Liste auf und erzeuge eine neue Liste mit dem Ergebnis; daher ist das Ergebnis des "erhalteErste"-Aufrufes:

Erfasse kann auch Worte anstelle einer Liste abarbeiten. Lasst uns schauen, wie in einem bekannten Spiel: Hangman bzw. anhaengen (dieses Probebeispiel ist von der Logo-Bibel übernommen: Computer Science Logo Style, volume 1):

pr anhängenbuchstabe :buchstabe
wennsonst elementp :buchstabe :geraten [rückgabe :buchstabe] [rückgabe "_]
ende

pr anhängenwort :geheim :geraten
rückgabe erfasse "anhängenbuchstabe :geheim
ende

druckezeile anhängenwort "potsticker [e t a o i n]

druckezeile anhängenwort "gelato [e t a o i n]

"anhängenwort"-Prozedur verwendet eine Erfassung, um Buchstaben zu finden und vermutete Buchstaben im Wort zu ersetzen. Hier bedeutet "erfasse": Rufe "anhängenbuchstabe" an jedem Element des :geheim :param auf und erzeuge mit dem Ergebnis ein neues Wort.

Hinweis: Liogo unterstützt jede Templateform "benannt-Prozedur", "Prozedur-Text", "benannt-slot" und "explizit-Slot".

Dynamische Abarbeitung

Eine dynamische Aussage ist ein durch die Laufzeit erzeugtes und abgearbeitetes Statement. Die meisten Befehle der Logo-Kontrollstruktur (test, schleife, ...) akzeptieren dynamische Aussagen. Lasst uns einige Probebeispiele betrachten:

tue :a

wennsonst wahr :a :b

wh 4 :c

tue :d

Hier sind "a", "b", "c" und "d" Variablen, die jeweils einen Logoquellcode beinhalten. Daher, wenn "a" für "[druckezeile 12]" gesetzt ist, wird das Ergebnis der ersten Zeile ein Drucken der Zahl 12 sein.

Liogo unterstützt jede Sorte dynamischer Aussagen, wenn Liogo mit einem dynamisches Statement bei der Laufzeit zusammentrifft, ruft es wieder den Compiler auf und verarbeitet die resultierende Assembly.