La laborspaco konsistas el ĉiu objekto difinita de l’ uzulo. Tio enhavas:
Proceduroj estas iaj «prograoj». Per voki ĝiajn nomojn, oni rulas l’ instrukciojn enhavatajn en la korpo de la proceduro. Por difini proceduron oni uzu la ŝlosilvorton pour.
por nomo_de_la_proceduro :v1 :v2 :v3 .... [:v4 ....] [:v5 ....] Korpo de la proceduro fino |
Ekz:
por kvadrato :c ripetu 4 [an :c dn 90] fino |
La proceduro nomiĝas kvadrato kaj havas parametron nomiĝantan c. kvadrato 100 produktos do kvadraton je latero 100. (Rigardu l’ ekzemplojn de proceduroj ĉe la fin’ de la libro.)
Post la versio 0.7c eblas aldoni komentariojn en la kodo per antaŭigi la signon # al ili.
por kvadrato :c
# ĉi tiu proceduro ebligas grafiki kvadraton je latero :c
ripetu 4 [an :c dn 90] # praktika, ĉu ne?
fino
Nun estas eble en XLogo uzi «apriorajn»valorojn por argumentoj. Konsideru la jenan proceduron:
por poli :n [:l 10] ripetu :n [an :l dn 360/:n] fino # Tio grafikas poligonon (plurlateron) kies # 20 lateroj mezuras 10 testudpaŝojn poli 20 |
Dum l’ interpretado, la variablon :l anstataŭas ĝia apriora valoro, tio estas 10. Se oni deziras ŝanĝi tiun valoron, voku la proceduron poli inter krampoj por indiki al interpretilo ke oni uzos malneprajn (fakultativajn, nenecesajn) parametrojn.
# Tio grafikas regulan plurlateron kies # 20 lateroj mezuras nun 5 testudpaŝojn (poli 20 5) # Tio grafikas kvadraton kies lateroj # mezuras 100 testudpaŝojn (poli 4 100) |
Por kontroli la ruladon de programo eblas skribigi al ĝi la procedurojn rulatajn. Tiu moduso ebligas ankaŭ afiŝi ĉu la proceduroj redonas valorojn per la primitivo sendu.
Ŝaltas la kontrolan moduson.
Malŝaltas la kontrolan moduson.
Jen malgranda ekzemplo per la faktorialo (rigardu p. 84).
program_kontrolu skribu fak 4 fak 4 fak 3 fak 2 fak 1 fak sendas 1 fak sendas 2 fak sendas 6 fak sendas 24 24 |
Ekzistas du specoj de variabloj:
En tiu versio de LOGO, la lokaj variabloj ne estas uzeblaj en la sub-proceduroj. Dum eliri el la proceduro, la lokaj variabloj malaperas.
Ekzemplo: provizu "a 100 provizas 100 al la variablo a.
Por provizi al ĝi valoron, rigardu lokp.
Kreu novan lokan variablon vor1 kaj provizu ĝin per la valoro arg2.
Difinu novan proceduron nomatan vor1.
listo1 enhavas plurajn listojn:
dif "plurlatero [[nl longeco] [ripetu :nl [an :longeco dn 360/:nl]]] |
Tio difinas proceduron nomatan plurlatero kun du variabloj (:nl kaj :longeco). Ĝi ebligas grafiki regulan plurlateron kies nombron de lateroj, kaj la longon de ĉiu latero, oni povas elekti.
Donu ĉiun informon pri la proceduro nomata vor1. Ĝi donas liston enhavantan plurajn listojn.
Tiu primitivo estas kompreneble asociita al la primitivo difinu.
Donu la valoron de la variablo vor1.
enhv "a kaj :a estas du samefikaj notacioj.
Donu liston enhavantan ĉiun proceduron nun difinitan.
Donu liston enhavantan ĉiun variablon nun difinitan.
Donu liston enhavantan la ecolistojn aktuale difinitajn.
Redonu liston konsistantan el tri aliaj listoj. La unua enhavas ĉiun difinitan proceduron, la dua ĉiun variablon kaj la tria ĉiun eco-liston.
Redonu liston enhavantan ĉiun konatan primitivon.
Forviŝu la proceduron nomatan arg1, aŭ ĉiun proceduron enhavitan en la listo arg1.
Forviŝu la variablon arg1 aŭ ĉiun variablon enhavitan en la listo arg1.
Forviŝu la ecoliston nomatan arg1 aŭ ĉiun ecoliston enhavitan en la listo arg1.
Forviŝu ĉiun variablon, ecoliston kaj proceduron difinitan en la laborspaco.
Eliru XLOGO.
Rulu la instrukciliston enhavitan en listo1.
Ebligas ruli sistemkomandon disde XLogo. listo1 devas enhavi plurajn listojn enhavantajn ĉiun vorton konsistigantan la komandon. Jen ekzemploj:
startigu [[gedit] [/home/xlogo/dosiero.txt]]
Rulu l’ aplikon gedit kaj malfermu la dosieron /home/xlogo/fichier.txt (GNU/Linux)
startigu [[notepad] [C: /dosiero.txt]]
Rulu l’ aplikon notepad kaj malfermu la dosieron nomatan C: /dosiero.txt (ReactOS)
Tiu iom stranga sintakso ebligas ja uzi spacojn en la dosiervojoj.
Ekde la versio 0.9.92, XLogo subtenas ecolistojn. Ĉiu ecolisto havas ĉefan nomon kaj konsistas el aro de paroj Ŝlosilo-Valoro.
Por ekzemplo, konsideu ecoliston nomatan «aŭto». Ĝi povas enhavi ekzemple la ŝlosilon «koloro» asociitan al la valoro «ruĝa», aŭ ankaŭ la ŝlosilon «speco » asociitan al la valoro «kabrioleto».
Por manipuli tiajn listojn, oni havas la jenanj priitivojn:
Konsideru la ecoliston nomo (se ĝi ne ekzistas, kreu ĝin). valoro kiu estos havebla per la vorto ŝlosilo.
Pluku en la ecolisto nomo la valoron asociita al la dezirata ŝlosilo. Se la ecolisto ne ekzistas aŭ se la ŝlosilo ne ekzistas, donu malplenan liston.
En la ecolisto nom, forviŝu l’ valoron asociitan al la elektita ŝlosilo.
Donu la aron de paroj ŝlosilo-valoro enhavita en la ecolisto nomo. Repensu pri l’ ekzemplo de la listo «voiture».
# Plenigi la liston econ_provizu "aŭto "koloro "ruĝa econ_provizu "aŭto "speco "kabrioleto econ_provizu "aŭto "firmao "Citroën # Konsulti iun valoron skribu econ_sendu "aŭto "koloro ruĝa # Konsulti ^ciun eron skribu ecan_liston "aŭto koloro ruĝa speco kabrioleto firmao Citroën |