Funktiot

CoolBasicin omat funktiot

Jos et ole vielä lukenut kohtaa "Komennot", tee se nyt.

CoolBasic värjää komennot ja funktiot erivärisiksi kuin muu teksti. Tiedät jo mikä on komento, mutta mitä eroa on funktiolla ja komennolla? Funktioillekin voidaan välittää parametreja. Funktiot palauttavat arvon. Tämä tarkoittaa sitä, että funktion nimen tilalle ilmestyy ajon aikana sen palauttama arvo. Otetaan esimerkki:

Funktio Abs() vaatii yhden parametrin, luvun. Se palauttaa tämän luvun positiivisena. Siten Abs(-5) tuleekin 5. Joten Print Abs(-5) tulostaakin itse asiassa luvun 5.

Funktion nimen perään kirjoitetaan aina sulkeet. Sulkeiden sisään kirjoitetaan parametriluettelo (aivan kuten komennoissa). Jos funktio ei vaadi yhtään parametria, kirjoitetaan tyhjät sulkeet, esim. TIMER().

Manuaalissa komennot ja funktiot on eroteltu toisistaan.

Ohjelmoijan kirjoittamat funktiot

Ohjelmoija voi kirjoittaa omia funktioitaan, jos CoolBasicin valmiista valikoimista ei löydy sopivaa. Tämä tapahtuu avainsanalla Function:

1    luku = 5
2
3    Text 0, 0, KerroKahdella(luku)
4
5    DrawScreen
6
7    WaitKey
8
9    End
10
11   '----------- Funktiot -----------
12
13   Function KerroKahdella(jokin_luku)
14       jokin_luku = jokin_luku * 2
15       Return jokin_luku
16   End Function

Huomaa Return-käsky. Sen avulla arvo palautetaan. Jos tämä jätetään pois, funktio palauttaa oletusarvonsa, eli nollan (tai tyhjän merkkijonon, jos funktio on tyypiltään merkkijonofunktio).

Yleensä kaikki funktiot kirjoitetaan ohjelman loppuun.

Ohjelmoijan kirjoittamien funktioiden ei kuitenkaan ole pakko palauttaa arvoa. Niitä voidaan kutsua sellaisenaan, samalla tapaa kuin komentoa. Silloin on kuitenkin myös kirjoitettava sulkeet.

1    Tulosta_tekstiä ()
2
3    DrawScreen
4
5    WaitKey
6
7    End
8
9    '----------- Funktiot -----------
10
11   Function Tulosta_tekstiä ()
12       Text 0, 0, "MOI!"
13   End Function

Ohjelmoijan funktioille voidaan määritellä rajaton määrä parametreja ja osa niistä voidaan esittää valinnaisiksi. Jos haluat funktion palauttavan esim. desimaaliluvun tai merkkijonon, kirjoitat tyyppitunnisteen funktion nimen loppuun:
Function Yhdistä_teksti$ (t1$, t2$)

Lisätietoa Function-avainsanan oppaasta.


<<TAKAISIN