dinsdag 3 juli 2012

JavaScript voor mensen, hobbits en elven - Deel 7


“En de waarheid vind men vooral in programma’s.”
                                                                        - Sam Rain
Nu is het allemaal wel gezellig zo, met die functions en objecten, variabelen en hun waardes – maar uiteindelijk draait het om een programma iets te laten doen aan de hand van een rationele beslissing (typisch iets Elfachtigs). Voor Hobbits en mensen is dit makkelijk; je gebruikt bijna dezelfde rekenregeltjes zoals de Dwergen (die overigens niet zo dol zijn op rekenen!).
De Dwergen rekenen op een typische manier – de uitkomst klopt, of klopt niet; in Tovenaarstaal is dit een ‘Booleaanse’ methode. Hobbits, mensen en elven die het vorige artikel gelezen hebben, weten wet dat het hier gaat om ‘true’ en ‘false’ (de ‘waar’ en ‘onwaar’ waarden). Daarom gebruiken Dwergen ‘operatoren’ – schrijven is ook niet bepaald hun hobby...
Een ‘operator’ is een symbool. De vergelijkende operatoren die dwergen gebruiken zijn:
Symbool                                    Staat voor de vraag:                                                           
= =                                    Is de linkerwaarde gelijk aan de rechter waarde?
<                                    Is de linkerwaarde kleiner dan de rechter waarde?
>                                    Is de linkerwaarde groter dan de rechter waarde?
= <                                    Is de linkerwaarde gelijk aan of kleiner dan de rechterwaarde?
= >                                    Is de linkerwaarde gelijk aan of groter dan de rechterwaarde?
De uitkomst van de vergelijking is dus altijd ‘waar’ of ‘onwaar’! In combinatie met het toverwoord ‘if’ kunnen we een script een beslissing laten maken. Zo werkt een ‘if’ spreuk:
if (vergelijking) {
/* als de vergelijking waar is, dan wordt hetgeen tussen deze accolades door het script uitgevoerd. */
}
Laten we eens een beter voorbeeld gebruiken:
function Elf ( ) {
this.leeftijd = 300;
{                                    /* alle nieuwe Elfen zijn meteen 300 jaar oud */
function Mens ( ) {
this.leeftijd = 18;
}                                    /* alle nieuwe Mensen zijn meteen 18 jaar oud */
function vuurwerk ( )
{
/* vuurwerk wordt afgestoken */
}
var a = new Elf ( ); */ een nieuwe Elf wordt gemaakt */
var b = new Mens ( ); /* een nieuw Mens ziet het licht */
if (a.leeftijd > b.leeftijd)
{
vuurwerk ( );
}
Logisch gezien, gaat het ‘vuurwerk’ af, omdat we weten dat de Elf ouder is dan de Mens! Maar, wat nu als de objecten Elf en Mens in leeftijd zouden toenemen, zoals een verjaardag of door een magisch truukje als deze?
b.leeftijd = 301;
Als we daarna weer de if-vergelijking zouden doen, zou er geen vuurwerk afgaan!
Vergelijkingen kunnen supercomplex gemaakt worden, maar herinner de wijsheid (of luiheid) van de Dwergen; uiteindelijk is de uitkomst waar of onwaar!

Meer lezen over Programmeren? Klik hier voor de inhoudsopgave voor alle artikelen!

Geen opmerkingen:

Een reactie posten