Ydin : koodirakenteet

FUNCTION


   KUVAUS

Funktio on koodilohko, joka sisältää tehtävän, jota tarvitaan toistuvasti tai useassa kohtaa koodiasi. Funktio on kuin aliohjelma, mutta se palauttaa arvon.

Funktiot ovat itsenäisiä pääohjelmasta, ja ne suoritetaan vain ja ainoastaan kun niitä kutsutaan. Niillä on omat muuttujat (vaikka pääohjelmassasi olisi samanniminen, se on silti eri) ja omat kirjanmerkit (Goto). Globaalit muuttujat, taulukot sekä vakiot kuitenkin näkyvät myös funktioissa. Määrittääksesi muuttujan globaaliksi, katso GLOBAL-komento. Gosub-aliohjelmat eivät ole sallittuja funktioiden sisällä.

Voit välittää muuttujia ja arvoja funktiolle. Funktio palauttaa arvoja RETURN-käskyn avulla. Jotta voisit palauttaa desimaalilukuja tai merkkijonoja, varmista että funktion nimen perässä on '#'- tai '$'-merkki.

Ideaalinen käyttötarkoitus olisi jakaa koodisi helposti ylläpidettäviin lohkoihin. Näin sinun ei esimerkiksi tarvitse muuttaa koodia kuin yhdestä paikasta, jos olet lisäämässä siihen ominaisuuksia tai korjaamassa bugeja. Voit esimerkiksi luoda funktion, joka järjestää jonkun taulukon solut suuruusjärjestykseen.

Lohko lopetetaan END FUNCTION -komennolla. Kun tämä komento saavutetaan, palaa ohjelma välittömästi siihen kohtaan, mistä funktiota kutsuttiin.

Vaikka funktiot voivat aluksi hieman hämmentää, kannattaa ne silti opetella tarkoin. Jossain vaiheessa kuitenkin ymmärrät, että funktiot eivät ole muuta kuin pikkuohjelmia oman ohjelmasi sisällä. Katso esimerkki.

Voi myös olla näppärää korvata jonkun CoolBasicin omista funktioista lisäten siihen ylimääräisiä virheentarkistuksia tms. Omat funktiot eivät saa olla samannimisiä kuin CoolBasicin jo olemassa olevat funktiot.

Rekursio onnistuu CoolBasicissa. Rekursio tarkoittaa sitä, että funktio kutsuu itseään ja käyttää hyväkseen omaa paluuarvoaan jatkaakseen. Lisätietoja sanakirjasta.

Parametriluettelo voi sisältää myös valinnaisia parametreja samaan tapaan kuin eräät CoolBasicin funktiot. Valinnainen parametri esitetään kirjoittamalla muuttujan nimen perään sijoitus, esim. "kalat=1" (oletuksellisesti kalat=1). Valinnaisten parametrien jälkeen ei voi esiintyä normaaleja parametreja.

   KÄYTTÖ
FUNCTION nimi ([parametriluettelo])

Parametriluettelo on valinnainen ja ne erotetaan pilkulla. Parametriluettelo sisältää listan muuttujista, joihin arvot asetetaan funktiota kutsuttaessa.

Katso myös: RETURN

   ESIMERKKI
Repeat

    c=Input("Give tempereture in Celcius degrees? ")

    DrawScreen

Until KeyHit(28) 'loop until RETURN-key
CloseInput

'--------------------

Repeat

    Text 0,0,c+" Celcius equals to "+Fahrenheit(c)+" Fahrenheit"
    DrawScreen

Until EscapeKey()

'--------------------
'FUNCTIONS
'--------------------

'This function converts Celcius tempereature into
'Fahrenheit temperature
Function Fahrenheit(degrees)

    fah=(degrees-32)/1.8
    
    Return fah

End Function

<<TAKAISIN