SlideShare uma empresa Scribd logo
1 de 25
Racket
1. JAKSO
Racket-lauseke
KOODIAAPINEN MOOC – KEVÄT 2016 2
(+ 2 3)
funktio argumentit
Lausekkeen sisällä voi olla
lausekkeita
KOODIAAPINEN MOOC – KEVÄT 2016 3
(/ (+ 2 3) (- 6 4))
funktio argumentit
Funktio palauttaa arvon
KOODIAAPINEN MOOC – KEVÄT 2016 4
circle
(funktio)
100
”solid”
”red”
+
(funktio)
ARGUMENTIT
100
30
PALUUARVO
130
Racket BSL – kieli
Funktioiden käyttöohjeet löytyvät Koodarin käsikirjasta.
KOODIAAPINEN MOOC – KEVÄT 2016 5
argumenttien tyypit
esimerkit
funktion nimi paluuarvon tyyppi
Kirjastojen avulla saat lisää
funktioita
Otamme käyttöön kuvienpiirtokirjaston. Sen funktiot on kuvattu
Koodarin käsikirjassa.
Kirjaston käyttöönotto (DrRacket):
KOODIAAPINEN MOOC – KEVÄT 2016 6
Kirjoita tämä määrittelyikkunaan ja paina ”run”
HUOM!
WeSchemessä et tarvitse
tätä vaihetta. Image-kirjasto
on käytössä automaattisesti.
Peruskuvioiden piirtofunktiot
Ohjeet peruskuvioiden piirtämiseen sekä kuvioiden yhdistämiseen
löydät Koodarin käsikirjasta.
KOODIAAPINEN MOOC – KEVÄT 2016 7
saat lisätietoa linkin kautta
Muuttujat
Tallenna muuttujaan arvoja, joita käytät useamman kerran. Käyttämällä
muuttujia koodista tulee selkeämpää.
KOODIAAPINEN MOOC – KEVÄT 2016 8
(define YMPYRÄ (circle 100 ”solid” ”red”))
muuttuja arvo
Sanasto
Koodarin käsikirjasta löytyy sanasto
Käytä sitä hyväksesi kun törmäät sinulle uuteen termiin. Ensimmäisen
viikon termit:
ARGUMENTTI
ARVO
ASKELTAJA/STEPPERI
EVALUOINTI
FUNKTIO
INTERAKTIOIKKUNA
KOODIAAPINEN MOOC – KEVÄT 2016 9
LAUSEKE
LUKU
MERKKIJONO
MÄÄRITTELYIKKUNA
KIRJASTO
MUUTTUJA
VAKIO
Pikanäppäimet nopeuttavat
koodaamista
Toiminto DrRacket
(Win)
DrRacket
(MacOS)
WeScheme
Suorita ”run” Ctrl + r Cmd + r F5
Palauta edellinen koodirivi
(interaktioikkunassa)
Crtl + ↑ Cmd + Crtl + ↑ Crtl + P
Palauta seuraava koodirivi
(interaktioikkunassa)
Crtl + ↓ Cmd + Crtl + ↓ Crtl + N
Tallenna ”save” Crtl + s Cmd + s Crtl + s
Sisennä koodirivi TAB TAB TAB
Korjaa sisennys koko
tiedostossa
Crtl + i Cmd + i Crtl + i
KOODIAAPINEN MOOC – KEVÄT 2016 10
Vinkki viikon
palautustehtävään
Jaa ongelma ensin osaongelmiin
◦ Mistä pienemmistä osista valitsemasi kuva koostuu?
Piirrä osat, anna osille selkeät nimet (define)
Yhdistä osat, tarvittaessa välivaiheiden kautta.
Esim. Pikseliukko koostuu riveistä, jotka koostuvat neliöistä...
KOODIAAPINEN MOOC – KEVÄT 2016 11
Racket
DEBUGGAUS
Palaa tähän kohtaan, kun törmäät virheilmoituksiin!
Mistä virheilmoitukset voivat
johtuvat?
KOODIAAPINEN MOOC – KEVÄT 2016 13
Virheilmoitus Syitä
expected a `)´ to close `(´ esimerkki
expected a funtion call but there is no open parenthesis... esimerkki
this function is not defined esimerkki 1
esimerkki 2
this variable is not defined esimerkki 1
esimerkki 2
esimerkki 3
expects 3 arguments, but found only 2 esimerkki
expects <...> as second argument esimerkki1
esimerkki2
funktion call: expected a function after the open parenthesis... esimerkki
define: expected only one expression after the variable name… esimerkki
Debuggaus:
expected a `)´ to close `(´
Tarkista sulut. Sinulta puuttuu
sulkukiinni-merkki ´)´, joka sulkee
pinkiksi väritetyn sulkuauki-
merkin ´(´.
Lisää puuttuva sulku:
(circle 100 ”solid”
”red”)
ja paina ”run”.
KOODIAAPINEN MOOC – KEVÄT 2016 14
Debuggaus:
expected a function call but there is
no open parenthesis...
Tarkista sulut. Funktiokutsu ja sen
argumentit pitää laittaa
sulkumerkkien sisään.
Lisää puuttuvat sulut:
(circle 100 ”solid” ”red”)
ja paina ”run”.
KOODIAAPINEN MOOC – KEVÄT 2016 15
Debuggaus:
this function is not defined (1)
Tarkista puuttuuko sinulta kuvien
piirtokirjasto (circle-funktio on
määritelty siinä).
Jos puuttui, lisää
määrittelyikkunaan ensimmäiseksi
riviksi:
(require 2htdp/image)
(circle 100 ”solid” ”red”)
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 16
Debuggaus:
this function is not defined (2)
Tarkista kirjoititko funktion nimen
oikein. Funktion nimessä ei saa olla
välilyöntejä, myös isoilla ja pienillä
kirjaimilla on merkitystä.
Korjaa funktion kirjoitusasu
oikeaksi:
(circle 100 ”solid” ”red”)
Ja paina ”run”.
KOODIAAPINEN MOOC – KEVÄT 2016 17
Debuggaus:
this variable is not defined (1)
Tarkista unohditko lainausmerkit: ””
merkkijonon ympäriltä (solid vs.
”solid”)?
Lisää puuttuvat lainausmerkit:
(circle 100 ”solid” ”red”))
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 18
Debuggaus:
this variable is not defined (2)
Oliko tarkoituksesi tallentaa kuva
muuttujaan ympyrä? Jotta voit viitata
muuttujaan ympyrä lisää
määrittelyikkunaan:
(define ympyrä
(circle 100 ”solid” ”red”))
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 19
Debuggaus:
this variable is not defined (3)
Tarkista kirjoititko muuttujan nimen
oikein. Muuttujan nimessä ei saa
olla välilyöntejä, myös isoilla ja
pienillä kirjaimilla on merkitystä.
Korjaa kirjoitusasu samaksi kuin
definessä:
(beside ympyrä ympyrä)
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 20
Debuggaus:
expects 3 arguments, but found 2
Olet antanut vain 2 argumenttia
funktiolle, joka vaatii 3 argumenttia.
Lisää puuttuva argumentti (tarkista
argumenttien määrä Koodarin
käsikirjasta):
(circle 100 ”solid” ”red”)
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 21
Debuggaus:
expects <...> as second argument (1)
Tarkista oletko antanut argumentit
oikeassa järjestyksessä (tässä ”solid”
ja ”red” ovat väärinpäin).
Vaihda argumentit oikeaan
järjestykseen (tarkista argumenttien
järjestys Koodarin käsikirjasta):
(define ympyrä
(circle 100 ”solid” ”red”))
KOODIAAPINEN MOOC – KEVÄT 2016 22
Debuggaus:
expects <...> as second argument (2)
Tarkista, että olet antanut
funktiolle oikean tyyppisiä
argumentteja. Jos annat
argumenttina muuttujan,
muuttujan nimeä ei kirjoiteta
lainausmerkkeihin (siitä tulee
silloin merkkijono, ei kuva).
Poista lainausmerkit muuttujan
nimen ympäriltä.
(beside ympyrä ympyrä)
KOODIAAPINEN MOOC – KEVÄT 2016 23
Debuggaus:
funktion call: expected a function
after the open parenthesis...
Olet ehkä laittanut sulut
muuttujan nimen ympärille.
Muuttujaan viitataan ilman
sulkuja, koska muuten se
tulkitaan funktiokutsuksi, jota se
ei ole.
Poista sulut muuttujan nimen
ympäriltä:
(beside ympyrä ympyrä)
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 24
Debuggaus:
define: expected only one expression
after the variable name
Tarkista, että muuttujanimessäsi ei
ole välilyöntiä.
Korjaa muuttujanimi yhtenäiseksi
esim. lisäämällä nimeen väliviiva tai
poistamalla välilyönti:
(define pun-ympyrä
(circle 100 ”solid” ”red”))
ja paina ”run”
KOODIAAPINEN MOOC – KEVÄT 2016 25

Mais conteúdo relacionado

Mais procurados

Racket MOOC - viikko 3
Racket MOOC - viikko 3Racket MOOC - viikko 3
Racket MOOC - viikko 3Tiina Partanen
 
Racket perusteet - Sovellukset A
Racket perusteet - Sovellukset ARacket perusteet - Sovellukset A
Racket perusteet - Sovellukset ATiina Partanen
 
Racket MOOC - 1. viikko
Racket MOOC - 1. viikkoRacket MOOC - 1. viikko
Racket MOOC - 1. viikkoTiina Partanen
 
Racket jatko 6. Listat
Racket jatko 6. ListatRacket jatko 6. Listat
Racket jatko 6. ListatTiina Partanen
 
Racket jatko 6. oppitunti
Racket jatko  6. oppituntiRacket jatko  6. oppitunti
Racket jatko 6. oppituntiTiina Partanen
 

Mais procurados (8)

Racket MOOC - viikko 3
Racket MOOC - viikko 3Racket MOOC - viikko 3
Racket MOOC - viikko 3
 
Racket perusteet - Sovellukset A
Racket perusteet - Sovellukset ARacket perusteet - Sovellukset A
Racket perusteet - Sovellukset A
 
Racket MOOC - 1. viikko
Racket MOOC - 1. viikkoRacket MOOC - 1. viikko
Racket MOOC - 1. viikko
 
Racket Turtle
Racket TurtleRacket Turtle
Racket Turtle
 
Racket MOOC - jakso 6
Racket MOOC -  jakso 6Racket MOOC -  jakso 6
Racket MOOC - jakso 6
 
Racket jatko 6. Listat
Racket jatko 6. ListatRacket jatko 6. Listat
Racket jatko 6. Listat
 
Racket MOOC - jakso 5
Racket MOOC - jakso 5Racket MOOC - jakso 5
Racket MOOC - jakso 5
 
Racket jatko 6. oppitunti
Racket jatko  6. oppituntiRacket jatko  6. oppitunti
Racket jatko 6. oppitunti
 

Destaque

Racket mooc 2017 - yleistä
Racket mooc 2017 -  yleistäRacket mooc 2017 -  yleistä
Racket mooc 2017 - yleistäTiina Partanen
 
Racket mooc 2017 - aikataulu
Racket mooc 2017 -  aikatauluRacket mooc 2017 -  aikataulu
Racket mooc 2017 - aikatauluTiina Partanen
 
Racket alkeet 2. Kuvat
Racket alkeet   2. KuvatRacket alkeet   2. Kuvat
Racket alkeet 2. KuvatTiina Partanen
 
Racket alkeet 1. Peruslaskut
Racket alkeet   1. PeruslaskutRacket alkeet   1. Peruslaskut
Racket alkeet 1. PeruslaskutTiina Partanen
 
Koodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketKoodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketTiina Partanen
 
Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Tiina Partanen
 
Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Tiina Partanen
 
Oppimisympäristöt - sosiaalisen median näkökulma
Oppimisympäristöt - sosiaalisen median näkökulmaOppimisympäristöt - sosiaalisen median näkökulma
Oppimisympäristöt - sosiaalisen median näkökulmaPekka Ranta
 
Koodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteKoodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteTiina Partanen
 
Sosiaalinen media - Mitä se on?
Sosiaalinen media - Mitä se on?Sosiaalinen media - Mitä se on?
Sosiaalinen media - Mitä se on?Satu Luoma
 
Hyvä, paha sosiaalinen media
Hyvä, paha sosiaalinen mediaHyvä, paha sosiaalinen media
Hyvä, paha sosiaalinen mediahreinikainen
 
Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Tiina Partanen
 
Racket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetRacket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetTiina Partanen
 
Koodiaapinen mooc ja scratch-klubi
Koodiaapinen mooc ja scratch-klubiKoodiaapinen mooc ja scratch-klubi
Koodiaapinen mooc ja scratch-klubiTero Toivanen
 

Destaque (17)

Racket mooc 2017 - yleistä
Racket mooc 2017 -  yleistäRacket mooc 2017 -  yleistä
Racket mooc 2017 - yleistä
 
Racket mooc 2017 - aikataulu
Racket mooc 2017 -  aikatauluRacket mooc 2017 -  aikataulu
Racket mooc 2017 - aikataulu
 
Racket alkeet 2. Kuvat
Racket alkeet   2. KuvatRacket alkeet   2. Kuvat
Racket alkeet 2. Kuvat
 
Racket alkeet 1. Peruslaskut
Racket alkeet   1. PeruslaskutRacket alkeet   1. Peruslaskut
Racket alkeet 1. Peruslaskut
 
Koodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketKoodiaapinen MOOC - Racket
Koodiaapinen MOOC - Racket
 
Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)
 
Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)
 
Ely 2010 sometu
Ely 2010 sometuEly 2010 sometu
Ely 2010 sometu
 
Oppimisympäristöt - sosiaalisen median näkökulma
Oppimisympäristöt - sosiaalisen median näkökulmaOppimisympäristöt - sosiaalisen median näkökulma
Oppimisympäristöt - sosiaalisen median näkökulma
 
Koodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteKoodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynote
 
Sosiaalinen media - Mitä se on?
Sosiaalinen media - Mitä se on?Sosiaalinen media - Mitä se on?
Sosiaalinen media - Mitä se on?
 
Racket MOOC jakso 7
Racket MOOC jakso 7Racket MOOC jakso 7
Racket MOOC jakso 7
 
Hyvä, paha sosiaalinen media
Hyvä, paha sosiaalinen mediaHyvä, paha sosiaalinen media
Hyvä, paha sosiaalinen media
 
Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)
 
Racket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetRacket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseet
 
K2017aikataulu
K2017aikatauluK2017aikataulu
K2017aikataulu
 
Koodiaapinen mooc ja scratch-klubi
Koodiaapinen mooc ja scratch-klubiKoodiaapinen mooc ja scratch-klubi
Koodiaapinen mooc ja scratch-klubi
 

Mais de Tiina Partanen

Computational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsComputational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsTiina Partanen
 
Ohjelmoinnin historiaa
Ohjelmoinnin historiaaOhjelmoinnin historiaa
Ohjelmoinnin historiaaTiina Partanen
 
Koodauksen ensiaskeleet
Koodauksen ensiaskeleetKoodauksen ensiaskeleet
Koodauksen ensiaskeleetTiina Partanen
 
Racket MOOC - viikko 6
Racket MOOC - viikko 6Racket MOOC - viikko 6
Racket MOOC - viikko 6Tiina Partanen
 
Racket jatko 7. oppitunti
Racket jatko 7. oppituntiRacket jatko 7. oppitunti
Racket jatko 7. oppituntiTiina Partanen
 

Mais de Tiina Partanen (8)

Computational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsComputational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of Mathematics
 
Ohjelmoinnin historiaa
Ohjelmoinnin historiaaOhjelmoinnin historiaa
Ohjelmoinnin historiaa
 
Kurkistus koodaukseen
Kurkistus koodaukseenKurkistus koodaukseen
Kurkistus koodaukseen
 
Legorobottialkeet
LegorobottialkeetLegorobottialkeet
Legorobottialkeet
 
Lapset koodaa?
Lapset koodaa?Lapset koodaa?
Lapset koodaa?
 
Koodauksen ensiaskeleet
Koodauksen ensiaskeleetKoodauksen ensiaskeleet
Koodauksen ensiaskeleet
 
Racket MOOC - viikko 6
Racket MOOC - viikko 6Racket MOOC - viikko 6
Racket MOOC - viikko 6
 
Racket jatko 7. oppitunti
Racket jatko 7. oppituntiRacket jatko 7. oppitunti
Racket jatko 7. oppitunti
 

Racket MOOC - jakso 1

  • 2. Racket-lauseke KOODIAAPINEN MOOC – KEVÄT 2016 2 (+ 2 3) funktio argumentit
  • 3. Lausekkeen sisällä voi olla lausekkeita KOODIAAPINEN MOOC – KEVÄT 2016 3 (/ (+ 2 3) (- 6 4)) funktio argumentit
  • 4. Funktio palauttaa arvon KOODIAAPINEN MOOC – KEVÄT 2016 4 circle (funktio) 100 ”solid” ”red” + (funktio) ARGUMENTIT 100 30 PALUUARVO 130
  • 5. Racket BSL – kieli Funktioiden käyttöohjeet löytyvät Koodarin käsikirjasta. KOODIAAPINEN MOOC – KEVÄT 2016 5 argumenttien tyypit esimerkit funktion nimi paluuarvon tyyppi
  • 6. Kirjastojen avulla saat lisää funktioita Otamme käyttöön kuvienpiirtokirjaston. Sen funktiot on kuvattu Koodarin käsikirjassa. Kirjaston käyttöönotto (DrRacket): KOODIAAPINEN MOOC – KEVÄT 2016 6 Kirjoita tämä määrittelyikkunaan ja paina ”run” HUOM! WeSchemessä et tarvitse tätä vaihetta. Image-kirjasto on käytössä automaattisesti.
  • 7. Peruskuvioiden piirtofunktiot Ohjeet peruskuvioiden piirtämiseen sekä kuvioiden yhdistämiseen löydät Koodarin käsikirjasta. KOODIAAPINEN MOOC – KEVÄT 2016 7 saat lisätietoa linkin kautta
  • 8. Muuttujat Tallenna muuttujaan arvoja, joita käytät useamman kerran. Käyttämällä muuttujia koodista tulee selkeämpää. KOODIAAPINEN MOOC – KEVÄT 2016 8 (define YMPYRÄ (circle 100 ”solid” ”red”)) muuttuja arvo
  • 9. Sanasto Koodarin käsikirjasta löytyy sanasto Käytä sitä hyväksesi kun törmäät sinulle uuteen termiin. Ensimmäisen viikon termit: ARGUMENTTI ARVO ASKELTAJA/STEPPERI EVALUOINTI FUNKTIO INTERAKTIOIKKUNA KOODIAAPINEN MOOC – KEVÄT 2016 9 LAUSEKE LUKU MERKKIJONO MÄÄRITTELYIKKUNA KIRJASTO MUUTTUJA VAKIO
  • 10. Pikanäppäimet nopeuttavat koodaamista Toiminto DrRacket (Win) DrRacket (MacOS) WeScheme Suorita ”run” Ctrl + r Cmd + r F5 Palauta edellinen koodirivi (interaktioikkunassa) Crtl + ↑ Cmd + Crtl + ↑ Crtl + P Palauta seuraava koodirivi (interaktioikkunassa) Crtl + ↓ Cmd + Crtl + ↓ Crtl + N Tallenna ”save” Crtl + s Cmd + s Crtl + s Sisennä koodirivi TAB TAB TAB Korjaa sisennys koko tiedostossa Crtl + i Cmd + i Crtl + i KOODIAAPINEN MOOC – KEVÄT 2016 10
  • 11. Vinkki viikon palautustehtävään Jaa ongelma ensin osaongelmiin ◦ Mistä pienemmistä osista valitsemasi kuva koostuu? Piirrä osat, anna osille selkeät nimet (define) Yhdistä osat, tarvittaessa välivaiheiden kautta. Esim. Pikseliukko koostuu riveistä, jotka koostuvat neliöistä... KOODIAAPINEN MOOC – KEVÄT 2016 11
  • 12. Racket DEBUGGAUS Palaa tähän kohtaan, kun törmäät virheilmoituksiin!
  • 13. Mistä virheilmoitukset voivat johtuvat? KOODIAAPINEN MOOC – KEVÄT 2016 13 Virheilmoitus Syitä expected a `)´ to close `(´ esimerkki expected a funtion call but there is no open parenthesis... esimerkki this function is not defined esimerkki 1 esimerkki 2 this variable is not defined esimerkki 1 esimerkki 2 esimerkki 3 expects 3 arguments, but found only 2 esimerkki expects <...> as second argument esimerkki1 esimerkki2 funktion call: expected a function after the open parenthesis... esimerkki define: expected only one expression after the variable name… esimerkki
  • 14. Debuggaus: expected a `)´ to close `(´ Tarkista sulut. Sinulta puuttuu sulkukiinni-merkki ´)´, joka sulkee pinkiksi väritetyn sulkuauki- merkin ´(´. Lisää puuttuva sulku: (circle 100 ”solid” ”red”) ja paina ”run”. KOODIAAPINEN MOOC – KEVÄT 2016 14
  • 15. Debuggaus: expected a function call but there is no open parenthesis... Tarkista sulut. Funktiokutsu ja sen argumentit pitää laittaa sulkumerkkien sisään. Lisää puuttuvat sulut: (circle 100 ”solid” ”red”) ja paina ”run”. KOODIAAPINEN MOOC – KEVÄT 2016 15
  • 16. Debuggaus: this function is not defined (1) Tarkista puuttuuko sinulta kuvien piirtokirjasto (circle-funktio on määritelty siinä). Jos puuttui, lisää määrittelyikkunaan ensimmäiseksi riviksi: (require 2htdp/image) (circle 100 ”solid” ”red”) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 16
  • 17. Debuggaus: this function is not defined (2) Tarkista kirjoititko funktion nimen oikein. Funktion nimessä ei saa olla välilyöntejä, myös isoilla ja pienillä kirjaimilla on merkitystä. Korjaa funktion kirjoitusasu oikeaksi: (circle 100 ”solid” ”red”) Ja paina ”run”. KOODIAAPINEN MOOC – KEVÄT 2016 17
  • 18. Debuggaus: this variable is not defined (1) Tarkista unohditko lainausmerkit: ”” merkkijonon ympäriltä (solid vs. ”solid”)? Lisää puuttuvat lainausmerkit: (circle 100 ”solid” ”red”)) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 18
  • 19. Debuggaus: this variable is not defined (2) Oliko tarkoituksesi tallentaa kuva muuttujaan ympyrä? Jotta voit viitata muuttujaan ympyrä lisää määrittelyikkunaan: (define ympyrä (circle 100 ”solid” ”red”)) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 19
  • 20. Debuggaus: this variable is not defined (3) Tarkista kirjoititko muuttujan nimen oikein. Muuttujan nimessä ei saa olla välilyöntejä, myös isoilla ja pienillä kirjaimilla on merkitystä. Korjaa kirjoitusasu samaksi kuin definessä: (beside ympyrä ympyrä) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 20
  • 21. Debuggaus: expects 3 arguments, but found 2 Olet antanut vain 2 argumenttia funktiolle, joka vaatii 3 argumenttia. Lisää puuttuva argumentti (tarkista argumenttien määrä Koodarin käsikirjasta): (circle 100 ”solid” ”red”) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 21
  • 22. Debuggaus: expects <...> as second argument (1) Tarkista oletko antanut argumentit oikeassa järjestyksessä (tässä ”solid” ja ”red” ovat väärinpäin). Vaihda argumentit oikeaan järjestykseen (tarkista argumenttien järjestys Koodarin käsikirjasta): (define ympyrä (circle 100 ”solid” ”red”)) KOODIAAPINEN MOOC – KEVÄT 2016 22
  • 23. Debuggaus: expects <...> as second argument (2) Tarkista, että olet antanut funktiolle oikean tyyppisiä argumentteja. Jos annat argumenttina muuttujan, muuttujan nimeä ei kirjoiteta lainausmerkkeihin (siitä tulee silloin merkkijono, ei kuva). Poista lainausmerkit muuttujan nimen ympäriltä. (beside ympyrä ympyrä) KOODIAAPINEN MOOC – KEVÄT 2016 23
  • 24. Debuggaus: funktion call: expected a function after the open parenthesis... Olet ehkä laittanut sulut muuttujan nimen ympärille. Muuttujaan viitataan ilman sulkuja, koska muuten se tulkitaan funktiokutsuksi, jota se ei ole. Poista sulut muuttujan nimen ympäriltä: (beside ympyrä ympyrä) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 24
  • 25. Debuggaus: define: expected only one expression after the variable name Tarkista, että muuttujanimessäsi ei ole välilyöntiä. Korjaa muuttujanimi yhtenäiseksi esim. lisäämällä nimeen väliviiva tai poistamalla välilyönti: (define pun-ympyrä (circle 100 ”solid” ”red”)) ja paina ”run” KOODIAAPINEN MOOC – KEVÄT 2016 25