Osien numerointi on samoin kuin Berkeley Logo Reference Manualissa Brian Harveyn Computer Science Logo Style volume 2: Advanced Techniquesissa vertailun helpottamiseksi.
- Tietotyypit ja syntaksi
- Tietorakennekomennot
- Viestintä
- Laskeminen
- Loogiset operaatiot
- Grafiikka
- Aliohjelmat ja muuttujat
- Ohjausrakenteet
Tietotyypit ja syntaksi
"sana
'sana
sana
- Sana. (Ei voi sisältää merkkejä [](){} tai välejä, paitsi jos niiden edellä on \ eli kenoviiva.)
- tulosta "hei
- tulosta "hei\ logo
- tulosta 12.34
:muuttuja
- Syötteen määrittely/muuttujaviittaus
- tulosta :nimi
[ sana ... ]
- Lista sanoja tai listoja eroteltuna välilyönneillä
- tulosta [1 2 3]
{ sana ... }
{ sana ... }@origin
- Rivi sanoja välilyönnillä eroteltuna (yksiulotteinen taulukko)
- show {1 2 3}
( lauseke )
- Suluilla ryhmitellään lausekkeita
- show ( 1 + 2 ) * 3
aliohjelma syöte ...
- Kutsuu aliohjelmaa oletusmäärällä syötteitä
- tulosta "hei
( aliohjelma syöte ... )
- Kutsuu aliohjelmaa millä vain määrällä syötteitä
- (tulosta "hei :nimi)
2. Tietorakennekomennot
2.1 Luominen
sana lauseke lauseke
(sana lauseke ...)
- Yhdistää kaksi (tai useampia) sanoja yhdeksi
- tulosta (sana "a "b "c)
lista juttu1 juttu2
(lista juttu1 juttu2 ...)
- Luo syötteistä uuden listan
- tulosta (lista 1+2 2+3 3+4)
yhdistä juttu1 juttu2
(yhdistä juttu1 juttu2 ...)
yhd juttu1 juttu2
(yhd juttu1 juttu2 ...)
- Luo uuden listan syötteistä (jos sanoja) tai syötteiden alkioista (jos listoja)
- tulosta yhdistä [1 2 3] [ja niin edelleen]
alkuun juttu lista
loppuun juttu lista
- Palauttaa listan, jonka alkuun/loppuun on lisätty juttu. Jos listan sijasta syötteenä oli sana, yhdistää jutun sanan alkuun/loppuun.
- tulosta alkuun 0 [ 1 2 3 ]
- tulosta alkuun "a "bcd
- tulosta loppuun 4 [ 1 2 3 ]
- tulosta loppuun "e "bcd
rivi koko
(rivi koko alku)
- Luo uuden rivin. rivi alkaa oletuksena ykkösestä.
- tulosta rivi 10
taulukko [koot ...]
taulu [koot> ...]
(taulukko [koot ...] alku)
(taulu [koot ...] alku)
- Luo moniulotteisen taulukon. rivi alkaa oletuksena ykkösestä.
- tulosta taulukko [2 2]
lista.riviksi lista
(lista.riviksi lista alku)
- Luo uuden taulukon listan pohjalta.
- tulosta lista.riviksi [ 1 3 5 7 ]
rivi.listaksi rivi
- Luo uuden listan rivin pohjalta.
- tulosta rivi.listaksi { 2 4 6 8 }
käännä lista
- Palauttaa listan käänteisessä järjestyksessä; tai sanan kirjaimet käänteisessä järjestyksessä
- tulosta käännä [ 1 2 3 ]
- tulosta käännä "abc
2.2 Tiedon kerääminen
eka lista
vika lista
- Antaa listan ensimmäisen tai viimeisen jäsenen.
- tulosta eka [ 1 2 3 ]
- tulosta eka "abc
- tulosta vika [ 1 2 3 ]
- tulosta vika "abc
ekat lista.listoja
- Antaa listan ensimmäisistä alkioista joukossa listoja.
- tulosta ekat [ [1 2 3] [a b c] ]
- tulosta ekat [ abc def ]
ekatta lista
vikatta lista
- Antaa listan arvot paitsi ensimmäisen tai viimeisen.
- tulosta ekatta [ 1 2 3 ]
- tulosta ekatta "abc
- tulosta vikatta [ 1 2 3 ]
- tulosta vikatta "abc
ekoitta lista.listoja
ekoitta lista.listoja
- Antaa listasta listoja uudet listat joista ensimmäiset jäsenet on otettu pois.
- tulosta ekoitta [ [ 1 2 3 ] [ a b c ] ]
- tulosta ekoitta [ abc def ]
kohta indeksi juttu
- Antaa indeksin mukaisesti listasta, sanasta tai rivistä jäsenen.
- tulosta kohta 2 [ 1 2 3 ]
- tulosta kohta 2 "abc
taulukon.kohta [indeksi ...] juttu
taulun.kohta [indeksi ...] juttu
- Antaa taulukosta indeksin mukaisesti jäsenen.
- tulosta taulukon.kohta [2 1] {{a b} {c d}}
jokin lista
- Antaa satunnaisen jäsenen listasta.
- tulosta jokin [ 1 2 3 ]
- tulosta jokin "abc
paitsi juttu lista
- Luo uuden listan alkuperäisen listan pohjalta, josta on otettu kaikki tietyt jutut pois.
- tulosta paitsi "b [ a b c ]
- tulosta paitsi "a "banana
toistotta lista
- Luo uuden listan alkuperäisen pohjalta, josta on otettu toistuvat jäsenet pois.
- tulosta toistotta [ 1 2 3 2 3 4 3 4 5 ]
- tulosta toistotta "banana
jaa juttu lista
- Luo uuden listan, jossa on alkuperäisen listan sisältö jaettuna osiin, aina kun listassa on ollut juttu.
- tulosta jaa "a "banana
- tulosta jaa 3 [1 2 3 4 1 2 3 4]
2.3 Muokkaaminen
kohtaan indeksi rivi arvo
- Asettaa riviin indeksin mukaiseen kohtaan arvon.
- olkoon "a { 1 2 3 } kohtaan 2 :a "x tulosta :a
taulukon.kohtaan [indeksi...] taulukko arvo
taulun.kohtaan [indeksi...] taulu arvo
- Asettaa taulukkoon arvon.
- olkoon "a {{1 2} {3 4}} taulukon.kohtaan [2 1] :a "x tulosta :a
.ekaksi lista arvo
- Tekee arvosta listan ensimmäisen jäsenen.
- olkoon "a [ 1 2 3 ] .ekaksi :a "7 tulosta :a
pinoon listan.nimi juttu
ota listan.nimi
- Laittaa listan alkuun (pinon päälle) arvon. Toimii myös sanoilla. Ottaa listan lopusta arvon.
- olkoon "s [ 2 1 ] pinoon "s 3 tulosta :s tulosta ota "s
- olkoon "s "ba pinoon "s "c tulosta :s tulosta ota "s
jonoon listan.nimi juttu
ota listan.nimi
- Laittaa listan loppuun (jonon päähän) arvon. Toimii myös sanoilla. Ottaa listan lopusta arvon.
- olkoon "q [ 1 2 ] jonoon "q 3 tulosta :q tulosta ota "q
- olkoon "q "ab jonoon "q "c tulosta :q tulosta ota "q
2.4 Kokeilut
Kokeilu palauttaa joko 1 (joo) tai 0 (ei)
sanako juttu
listako juttu
rivikö juttu
lukuko juttu
- Kokeilee onko juttu sana, lista, rivi tai luku.
tyhjäkö juttu
- Kokeilee onko juttu tyhjä lista tai sana.
samatko juttu1 juttu2
juttu1 = juttu2
eritkö juttu1 juttu2
juttu1 <> juttu2
- Kokeilee ovatko jutut sama vai eri. Toimii luvuille, listoille ja sanoille.
aakkostuuko juttu1 juttu2
- Kokeilee onko juttu1 aakkosissa ennen juttu2:hta.
löytyykö juttu lista
- Kokeilee löytyykö juttu listasta.
osako juttu1 juttu2
- Kokeilee onko juttu1 osa juttu2:hta.
2.5 Kyselyt
pituus juttu
- Kertoo jutun pituuden.
- tulosta pituus [ 1 2 3 ]
- tulosta pituus "moikka
unicode juttu
- Antaa jutun unicodessa.
- tulosta unicode "abc
merkki juttu
- Antaa unicodemerkin jutun perusteella.
- tulosta merkki 97
lähtien juttu lista
- Luo uuden listan ensimmäisestä jutusta lähtien.
- tulosta lähtien "a "banaani
- tulosta lähtien 2 [1 2 3 4]
isolla juttu
pienellä juttu
- Antaa jutun isoilla/pienillä kirjaimilla.
- tulosta isolla "abc
- tulosta pienellä "ABC
listaksi sana
- Luo listan, jossa on erillisinä sanan kirjaimet.
- tulosta listaksi "1+2
3. Viestintä
3.1 Tulostaminen
sano juttu
- (
sano juttu1 juttu2 ...)
- Sanoo jutut tekstikenttään. Ei tulosta listojen ja rivien sulkeita.
- sano "moikka
sano.alku juttu
- (
sano.alku juttu1 juttu2 ...)
- Kuten
sano
, mutta perässä ei ole rivinvaihtoa.
- sano.alku "moik sano "ka
tulosta juttu
- (
tulosta juttu1 juttu2 ...)
- Kuten
sano
, mutta listojen ja rivien sulut jäävät.
- tulosta "moikka
3.2 Lukeminen
lue
(lue kehote)
- Kehota käyttäjää kirjoittamaan tekstiä. Tekstistä tulee lista.
- tulosta lue
- olkoon "värit (lue [Kirjoita joitain värejä:]) tulosta :värit
lue.sana
(lue.sana kehote)
- Kehota käyttäjää kirjoittamaan. Tekstistä tulee yksi sana.
- tulosta lue.sana
- olkoon "nimi (lue.sana [Mikä nimesi on?]) tulosta :nimi
3.4 Tekstin tuottaminen
teksti.pois
- Tyhjentää tekstikentän.
tekstin.väriksi väri
- Muuttaa tekstin väriä.
tekstin.väri
- Antaa tekstin värin.
teksti.isommaksi
teksti.pienemmäksi
- Muuta tekstin kokoa.
tekstin.kooksi korkeus
- Muuttaa tekstin kokoa (pikseleissä).
tekstin.koko
- Antaa tekstin nykyisen koon (pikseleissä).
fontiksi name
- Muuttaa fonttia.
fontti
- Kertoo nykyisen fontin.
4. Laskeminen
4.1 Numeeriset operaatiot
Syöte on numeroita ja ulostulo on yksi numero
summa luku1 luku2
(summa luku1 ...)
luku1 + luku2
erotus luku1 luku2
luku1 - luku2
tulo luku1 luku2
(tulo luku1 ...)
luku1 * luku2
osamäärä luku luku
(osamäärä luku1 luku2)
luku1 / luku2
potenssi luku1 luku2
luku1 ^ luku2
-
Laskevat summan, erotuksen, tulon tai osamäärän luvuille.
jakojäännös luku1 luku2
luku1 % luku2
modulo luku1 luku2
-
Jakojäännös sailyttää ensimmäisen luvun etumerkin, modulo antaa aina positiivisen jakojäännöksen.
miinus luku
- luku
-
Muuttaa luvun etumerkkiä.
itseisarvo luku
its luku
- Antaa luvun itseisarvon.
kokonaisluku luku
kok luku
- Poistaa luvun desimaaliosan jättäen vain kokonaislukuosan.
pyöristä luku
- Pyöristää lähimpään kokonaislukuun (5 pyöristyy aina ylöspäin).
neliöjuuri luku
neju luku
exp luku
log10 luku
lg luku
ln luku
- Neliöjuuri, e:n potenssi, kymmenkantainen logartimi (lg) ja luonnollinen logaritmi (ln).
arctan luku
(arctan x y)
sin luku
cos luku
tan luku
- Trigonometriset funktiot asteille.
radarctan luku
(radarctan x y)
radsin luku
radcos luku
radtan luku
- Trigonometriset funktiot radiaaneille.
luettele eka vika
- Antaa listan lukuja ekasta vikaan. Lista on lukujen määrittämä suljettu väli.
- tulosta luettele 1 10
luettele.osa eka vika montako
- Antaa listan, jossa on montako lukua tasaisin välein väliltä ekasta vikaan. Välin päätepisteet kuuluvat listaan.
- tulosta luettele.osa 1 9 5
4.2 Lukujen vertailut
pienempikö luku1 luku2
luku1 < luku2
suurempiko luku1 luku2
luku1 > luku2
pienempi.tai.yhtä.suuriko luku1 luku2
luku1 <= luku2
suurempi.tai.yhtä.suuriko luku1 luku2
luku1 >= luku2
- Kokeilee onko luku1 pienempi, suurempi, pienempi tai yhtä suuri tai suurempi tai yhtä suuri kuin luku2. Palauttaa joko joo (1) tai ei (0).
4.3 Satunnaisluvut
satunnainen luku
sat luku
(satunnainen alku loppu)
(sat alku loppu)
- Antaa luvun nollasta lukua yhtä pienempään lukuun, tai alusta loppuun.
- tulosta satunnainen 10
- tulosta (satunnainen 1 6)
satunnaista
- (
satunnaista luku)
- Asettaa satunnaislukugeneraattorin uuteen kohtaan tai johonkin tiettyyn arvoon.
4.4 Lukujen muuttaminen sanoiksi
sanaksi luku pituus tarkkuus
- Luo uuden sanan luvun perusteella annetulla desimaalitarkkuudella.
- tulosta sanaksi 1/3 10 3
4.5 Bittioperaatiot
bittisekä luku luku
(bittisekä luku ...)
bittitai luku luku
(bittitai luku ...)
bittijoko.tai luku luku
(bittijoko.tai luku ...)
bittiei.että luku
- Bittioperaatiot sekä, tai joko tai ja ei että.
asiirto luku bitcount
- Artimeettinen bittisiirto. Jos luku on negatiivinen, siirretään oikealle ja etumerkki säilyy.
lsiirto luku bitcount
- Looginen bittisiirto. Jos luku on negatiivinen, siirtää oikealle. Lisää nollia toiseen päähän.
5. Loogiset operaatiot
joo
- Palauttaa 1
ei
- Palauttaa 0
sekä juttu juttu
(sekä luku ...)
tai juttu juttu
(tai juttu ...)
joko.tai juttu juttu
(joko.tai juttu ...)
ei.että juttu
- Loogiset operaatiot "ja", "tai", "joko tai", and "ei", järjestyksessä.
Syötteet ovat numeroita, anne on 1 (joo) tai 0 (ei).
6. Grafiikka
6.1 Kilpparin liikkuminen
eteen luku
et luku
- Liikuttaa kilpparia eteenpäin luku pikselin verran.
- et 100
taakse luku
ta luku
- Liikuttaa kilpparia taaksepäin luku pikselin verran.
- ta 100
vasemmalle luku
va luku
- Kääntää luku verran kilpparia asteissa vastapäivään.
- va 90
oikealle luku
oi luku
- Kääntää luku verran kilpparia asteissa myötäpäivään.
- oi 90
paikkaan [ luku luku ]
menexy luku luku
menex luku
meney luku
- Siirrä kilppari tiettyyn paikkaan.
- paikkaan [ 100 -100 ]
- menexy -100 100
suuntaan luku
- Käännä kilppari osoittamaan tiettyyn suuntaan.
- suuntaan 45
kotiin
- Siirtää kilpparin keskelle ja osoittamaan ylöspäin.
kaari kulma säde
- Piirtää kaaren kilpikonnaa siirtämättä.
- kaari 180 100
6.2 Kilpparin aseman selvittäminen
paikka
xkor
ykor
- Palauttaa kilpparin senhetkisen sijainnin muodossa [ x y ] ja palauttavat joko x- tai y-koordinaatin.
- tulosta paikka
suunta
- Palauttaa kilpparin suunnan asteina.
- tulosta suunta
kohti [ luku luku ]
- Palauttaa sunnan kohti [ x y ] -koordinaatteja.
- tulosta kohti [ 0 0 ]
6.3 Ikkunan näkymä
näkyviin
nä
- Kilpikonna tulee näkyviin.
piiloon
pi
- Kilpikonna menee piiloon.
pyyhi
- Piirtoalue pyyhkiytyy.
uusi
cs
- Tekee sekä pyyhi että kotiin.
toistuva
- Jos kilpikonna menee piirtoalueen rajojen yli, se päätyy vastakkaiselle reunallle. (oletus)
rajaton
- Kilppari voi poistua ikkunasta loputtomiin.
rajoitettu
- Kilppari ei pääse liikkumaan ikkunan reunan ylitse.
täytä.tässä
- Täyttää yhtenäisen alueen kilpparin sijainnista kynän värillä.
- kaari 360 100 täytä.tässä
täytä.alue täyttöväri [ komennot ... ]
- Suorittaa komennot piirtämättä mitään, mutta tallettaa kilpparin liikeen muistiin.
Sen jälkeen täyttää kilpikonnan kulkeman alueen täyttövärillä
ja rajaa aluee kynän sen hetkisillä asetuksilla.
- täytä.alue "punainen [ toista 5 [ et 100 oi 144 ] ]
lappu luku
- Piirtää sanan (samalla logiikalla kuin
sano
) piirtoalueelle kilpikonnan kohdalle.
- toista 8 [ teksti "Logo oi 45 ]
lapun.kooksi luku
- Asettaa lapun korkeudeksi
luku
pikseliä.
- lapun.kooksi 100 lappu "Logo
lapun.fontiksi luku
- Asettaa lapun tekstin kooksi
luku
.
- lapun.fontiksi "Times\ New\ Roman label "Logo
6.4 Kilpparin ja ikkunan kokeilut
näkyykö
- Palauttaa 1 jos kilppari on näkyvissä ja 0 jos kilppari on piilossa
ikkunatila
- Palauttaa
WRAP
(toistuva), WINDOW
(rajaton) tai FENCE
()
lapun.koko
- Antaa lapussa olevan tekstin korkeuden pikseleissä.
lapun.fontti
- Palauttaa lapun fontin.
6.5 Kynän ja taustan hallinta
piirrä
pä
- Kilppari alkaa jättää jälkeä.
älä.piirrä
äp
- Kilppari lopettaa jäljen jättämisen.
maalaustila
maali
kumitustila
kumi
vastaväritila
vasta
- Muuttaa kilpparin piirtotilaa -
maali (oletustila) jättää jälkeensä värin mukaisen jäljen
kumi jättää jälkeensä taustan värisen jäljen,
vasta muuttaa ohi liikkuessaan kaiken vastavärikseen
- paksuudeksi 10 väriksi "pun eteen 100 paksuudeksi 5 vasta taakse 100
väriksi logoväri
väriksi heksaväri
väriksi värin.nimi
väriksi [punaista vihreää sinistä]
- Asettaa kynälle tai tekstille värin. Väri voi olla logoväri, eli luku 0-15, heksaväri tai värin nimi ( ohjeet CSS-värien, eli heksavärien ja niiden nimien käyttämiseen) tai lista värin pun/vihr/sin-arvoista, joiden kuuluu olla väliltä 0–99.
- Logovärit ovat:
0 musta
| 1 sininen
| 2 vihreä
| 3 syaani
|
4 punainen
| 5 magenta
| 6 keltainen
| 7 valkoinen
|
8 veri
| 9 hiekka
| 10 metsä
| 11 meri
|
12 roosa
| 13 myrkky
| 14 jaffa
| 15 kivi
|
- Väreistä 1–7 on myös lyhennetyt versiot: sin, vihr, sya, pun, mag, kelt ja valk.
- väriksi 4
- väriksi "punainen
- väriksi "#ff0000
- väriksi [ 99 0 0 ]
palettiin värinumero heksaväri
palettiin värinumero värin.nimi
palettiin värinumero [punaista vihreää sinistä]
- Muuta kahdeksan alemman värin sävyä paletissa.
- palettiin 8 "jaffa taustaksi 8
- palettiin 8 "#ff4f00 taustaksi 8
- palettiin 8 [ 99 31 40 ] taustaksi 8
paksuudeksi luku
- Muuttaa kynän paksuuden annetuksi pikselimäätäksi. Luku voi olla myös lista, jolloin käytetään listan ensimmäistä lukua.
taustaväriksi väri
taustaksi väri
- Asettaa taustalle annetun värin. Toimii samalla tavalla kuin
väriksi
- taustaksi "pun
6.6 Kynäkokeilut
piirtääkö
- Antaa 1, jos piirtää. Muussa tapauksessa antaa 0.
- tulosta piirtääkö
piirtotila
- Antaa
PAINT
(maalaustila), ERASE
(kumitustila) tai REVERSE
(vastaväritila).
- tulosta piirtotila
väri
- Antaa kynän värin, joka on CSS-väri, vaikka väriksi ei olisi asetettu CSS-väriä.
- tulosta väri
paletista värinumero
- Antaa paletista numeron mukaisen värin CSS-värinä, vaikka väriksi ei olisi asetettu CSS-väriä.
- tulosta paletista 8
paksuus
- Antaa listan, jossa kynän leveys ja korkeus, jotka ovat aina samat.
- tulosta paksuus
taustaväri
tausta
- Antaa taustavärin, joka on CSS-väri, vaikka väriksi ei olisi asetettu CSS-väriä.
- tulosta tausta
6.8 Hiirikokeilut
hiiri
- Antaa listana hiiren x- ja y-koordinaatit.
- ikuisesti [paikkaan hiiri]
klikkaus
- Antaa listana hiiren viimeisimmän klikkauksen x- ja y-koordinaatit.
- ikuisesti [paikkaan klikkaus]
klikattuko
- Antaa 1, jos hiiren nappi on pohjassa, muussa tapauksessa antaa 0.
- ikuisesti [riippuen klikattuko [pä] [äp] paikkaan hiiri]
nappi
- Antaa numeron, joka kuvastaa mitä nappia hiiressä on painettu.
(
1
= vasen nappi, 2 = oikea nappi, jne) tai 0, jos mitään nappia ei ole painettu.
kosketukset
- Antaa listana viimeisimpien kosketusten x- ja y-koordinaatit.
- ikuisesti [riippuen pituus kosketukset [sijaintiin eka kosketukset pä] [äp]]
7. Aliohjelmat ja muuttujat
7.1 Aliohjelmien luominen
miten aliohjelman.nimi syötteet ... komennot ... valmis
- Luo uuden aliohjelman. Syötteet voivat olla muodossa:
- Vaadittu syöte:
:a :b
- Valinnainen syöte ja oletusarvo syötteen puuttuessa:
[:c 5] [:d 7]
- Loput syötteet listana:
[:r]
- Syötteiden määrä:
3
- miten tähti :koko toista 5 [ et :koko oi 144 ] valmis
7.2 Muuttujien luominen
olkoon muuttujan.nimi juttu
- Luo muuttujan koko ohjelman käyttöön. Muuttujan nimi alkaa lainausmerkillä.
- olkoon "muuttujani 5
oma muuttujan.nimi
(oma muuttujan.nimi ...)
- Tulevat
olkoon
-käskyt luovat aliohjelman omia muuttujia, jotka eivät ole koko ohjelman käytössä.
- oma "muuttujani
olkoon.oma muuttujan.nimi juttu
- Luo ja asettaa aliohjelman oman muuttujan, kuin kutsuisi ensin komentoa
oma
ja sitten komentoa olkoon
- olkoon.oma "muuttujani 5
mitä muuttujan.nimi
- Antaa muuttujan arvon.
:foo
on sama asia kuin mitä "foo
- tulosta mitä "muuttujani
- tulosta :muuttujani
8. Ohjausrakenteet
8.1 Ohjaus
tee [ komennot ... ]
- Suorittaa listan komentoja.
- tee [ et 100 oi 90 ]
tee.ja.anna [ komennot ... ]
- Suorittaa listan komentoja ja antaa niiden viimeisen arvon listana tai tyhjän listan, jos annearvoja ei ole.
toista monestiko [ komennot ... ]
- Toistaa komennot annetun määrän verran.
- toista 4 [ et 100 oi 90 ]
ikuisesti [ komennot ... ]
- Toistaa komentoja ikuisesti. Ikuisesti-silmukan pysäyttävät komennot
anna
, seis
ja heippa
- ikuisesti [ olkoon "luku satunnainen 100 tulosta :luku jos :luku == 0 [ heippa ] ]
kerta
#
- Kertoo monennettako kertaa toistoa suoritetaan. Toimii sekä komennolla
toista
että ikuisesti
- toista 10 [ tulosta kerta ]
- toista 10 [ tulosta # ]
jos ehto [ komennot ... ]
jos [ehto] [ komennot ... ]
- Suorittaa komennot, jos annettu ehto on arvoltaan jotain muuta kuin 0.
- jos 2 > 1 [ tulosta "jep ]
riippuen ehto [ komennot ... ] [ komennot ... ]
riippuen [ehto] [ komennot ... ] [ komennot ... ]
- Suorittaa ensimmäiset komennot jos ehto on arvoltaan jotain muuta kuin 0. Jos ehto on 0, suorittaa jälkimmäiset komennot.
- riippuen 1 > 2 [ tulosta "jep ] [ tulosta "höpöhöpö ]
onko ehto
onko [ehto]
- Kokeilee onko annettu ehto totta vai ei, ja tallettaa muistiin saadun tuloksen. Käytetään yhdessä komentojen
jos.on
ja jos.ei
kanssa.
jos.on [ komennot ...]
jos.ei [ komennot ...]
- jos.on suorittaa komennot jos edellinen
onko
oli muuta kuin 0 (eli joo). jos.ei suorittaa komennot jos edellinen onko
oli 0 (eli ei).
- onko 1 > 2 jos.on [ tulosta "jep ] jos.ei [ tulosta "höpöhöpö ]
seis
- Pysäyttää nykyisen aliohjelman.
anna juttu
- Pysäyttää nykyisen aliohjelman ja antaa jutun.
odota aikaa
- Pysäyttää ohjelman annetuksi aikaa. Syötetty aika on sekunnin kuudeskymmenesosissa (60 = 1 sekunti).
heippa
- Ohjelma loppuu.
älä.käytä juttu
- Laskee jutun arvon, mutta ei tee sillä mitään.
- olkoon "lista [ 1 2 3 ] älä.käytä ota "lista
` lista
- Antaa täydennetyn listan:
, [lauseke]
korvataan lausekkeen arvolla
,@ [lauseke]
koarvataan lausekkeen antamilla arvoilla. Lausekkeen on annettava lista.
",lauseke
korvataan lausekkeen arvolla, jonka eteen on lisätty "
:,lauseke
korvataan lausekkeen arvolla, jonka eteen on lisätty :
- tulosta `[a b ,[ekatta [c d e]] f ,@[ekatta [g h i]]]
- olkoon "v "x tulosta `[",:v :,:v]
luvuille [muuttuja alku loppu] [ komennot ...]
luvuille [muuttuja alku loppu askel] [ komennot ...]
- Käy luvut alusta loppuun. Askel määrittää montako lukua edellisen ja seuraavan luvun välillä on.
- luvuille [ a 1 10 ] [ tulosta :a ]
- luvuille [ a 0 20 2 ] [ tulosta :a ]
toista.muuttujalla [muuttuja kertaa] [ komennot ...
toi.muut [muuttuja kertaa] [ komennot ...
- Kuten
toista
, mutta käytyjen kierrosten määrä tallennetaan annettuun muuttujaan.
- toi.muut [ i 5 ] [ tulosta :i * :i ]
tee.ja.jatka.kun [ komennot ...] ehto
tjjkun [ komennot ...] ehto
- Suorittaa syötetyt komennot, minkä jälkeen jatkaa niin kauan, kun ehto on tosi (ei nolla). Ehdon voi antaa myös hakasulkeissa.
- tjjkun [ olkoon "a satunnainen 10 tulosta :a ] :a < 8
kun ehto [ komennot ...]
kun [ehto] [ komennot ...]
- Suorittaa syötettyjä komentoja niin kauan, kun ehto on tosi.
- kun (satunnainen 2) = 0 [ tulosta "nolla ] tulosta "yksi
tee.ja.jatka.kunnes [ komennot ...] ehto
tjjkunnes [ komennot ...] ehto
- Suorittaa syötetyt komennot, mikä jälkeen jatkaa, kunnes ehto täyttyy.
- tjjkunnes [ olkoon "a satunnainen 10 tulosta :a ] :a < 8
kunnes ehto [ komennot ...]
kunnes [ehto] [ komennot ...]
- Suorittaa syötettyjä komentoja, kunnes ehto täyttyy.
- kunnes (satunnainen 2) = 0 [ tulosta "yksi ] tulosta "nolla