Template:Scripting variables

From TOI-Pedia

Variabelen

Een programma bewerkt data. Deze data worden tijdelijk opgeslagen in het geheugen. Om naar dit geheugen te verwijzen gebruiken we variabelen. Elke variabele bevat een value die gewijzigd kan worden.

Elke variabele heeft een name.

Elke variabele moet voor gebruik gedeclareerd worden (in MEL)

De declaratie van een variabele houdt in dat de naam en het type van de variabele gedefinieerd worden, en dat de variabele een initiële waarde toegekend krijgt.

De declaratie van een variabele heeft de volgende vorm:

type $variabeleNaam [= initiëleWaarde]; De naam van een variabele wordt steeds voorafgegaan door een dollar-teken ('$') (in MEL).


Elke variabele heeft een type (in MEL)

Dit (data) type bepaalt welke soort waarden deze variabele kan bevatten. Dit type kan na declaratie niet meer gewijzigd worden. MEL onderscheidt een vijftal verschillende data typen.

Variabele typeSoort waarden
intgehele getallen (integers)
floatdecimale getallen (floating-point numbers)
stringstrings / alfanumerieke waarden
vectordrie-dimensionale vectoren
matrixmatrices


Eenmaal gedeclareerd, kan de variabele gebruikt worden. Wil je de waarde van een variabele in een instructie gebruiken, is het vaak voldoende om de naam van de variabele (inclusief het $-teken) ter vervanging van de waarde in de instructie te plaatsen.

Examples:

float $f = 1.5;

string $hallo = "Hallo wereld";

int $straal = 2;

sphere -r $straal;

$straal = 4;

sphere -r $straal;

Identifiers

De naam van een variabele is onderhevig aan een aantal regels. Deze regels gelden in het algemeen zowel voor de namen van variabelen als voor de namen van procedures, en zowel in MEL als in andere programmeertalen. Dergelijke namen worden ook identifiers genoemd.

Een identifier:

begint steeds met een letter of een streep ('_', underscore). bestaat enkel uit letters, cijfers en _-tekens is gevoelig voor hoofd- en kleine letters (in MEL) Dus, vermijd namen die enkel verschillen in het gebruik van hoofd- of kleine letters

Voor de naam van een variabele geldt (in MEL) bovendien dat deze steeds voorafgegaan wordt door een dollar-teken ('$').

Denk eraan, gebruik namen die betekenisvol zijn binnen de context van je script. Dat maakt het gemakkelijker te lezen.

Examples:

$Tijd

$mijn_naam

$tekst1



Waarde toekenning

Tijdens de declaratie van een variabele kan deze een waarde toegekend worden. Dit noemen we de initialisatie van de variabele. Wordt de initialisatie van de variabele in de declaratie weggelaten, dan krijgt deze variabele in de plaats een defaultwaarde toegekend. ↓

Na de declaratie kan de waarde van een variabele enkel gewijzigd worden via een (expliciete) waardetoekenning (assignment). De waardetoekenning van een variabele heeft de volgende vorm:

$variabeleNaam = uitdrukking;

Hier geldt dat:

  • de linkerzijde in de toekenning is steeds een variabele
  • de rechterzijde is een uitdrukking waarvan het resultaat compatibel is met het type van de variabele


  • Let op, $x = $y; geeft een ander resultaat dan $y = $x;

    Bij een waardetoekenning wordt de huidige waarde van de variabele overschreven'. Wil je de nieuwe waarde afhankelijk maken van de oude waarde, dan moet je hiermee rekening houden in de uitdrukking, bijv.: $som = $som + $x;

    Examples:
    int $i; // initiële waarde is 0
    float $f = 1.5;
    float $g = $f + 2;
    // Result: 3.5 //
    print $f;
    string $uitroep = "MEL" + " is leuk!"
    // Dit is hetzelfde als "MEL is leuk!"


    Constanten

    De waarde die een variabele kan aannemen is afhankelijk van het type van de variabele. Deze waarde kan gewijzigd worden door middel van een waardetoekenning (of initialisatie). De nieuwe waarde van de variabele is dan het resultaat van een uitdrukking. Deze uitdrukking kan ook een constante uitdrukking zijn, d.w.z., een constante waarde.

    Gehele getallen (type int ) worden decimaal of hexadecimaal geschreven:

  • decimaal: 5 -20 0 32000
  • hexadecimaal:
  • 0xA0 // is gelijk aan 160
    0xFFF // is gelijk aan 4095

    Decimale getallen (type float) worden met een decimaalpunt geschreven:

    3.1415926 2.0 -6592.582 0.0


    Alfanumerieke constanten of strings worden tussen (dubbele) aanhalingstekens geschreven:

    "MEL is fun!" "abcdef012345" ":<>()&^%ABC"

    Een vector is een serie van 3 decimale getallen. Deze serie wordt omsloten met dubbele haakjes << ... >> en de getallen met komma's gescheiden:

    <<1.0, 0.0, 0.0>> <<3.0, 7.7, 9.1>>

    Een matrix is een twee-dimensionele serie van decimale getallen. Deze serie wordt omsloten met dubbele haakjes << ... >>, de getallen (kolommen) met komma's gescheiden, de rijen met puntkomma's gescheiden:

    <<1.0, 0.0, 0.0; 3.0, 7.7, 9.1; 0.0 0.0 0.0>> // 3x3 matrix

    De default initiële waarde van een variabele is afhankelijk van het type van de variabele:


    Variabel type Default initial value
    int 0
    float 0.0
    string "" (empty string)
    vector <<0.0, 0.0, 0.0>>
    matrix every element 0.0
    Personal tools
    Actions
    Navigation
    Tools