Kenmerken
In dit hoofdstuk staan een paar kenmerken van Babbelaar beschreven, om zo een inleiding te geven aan de programmeertaal.
❓ Als
Om iets soms wél en soms niet uit te voeren, kun je het conditioneel maken, met het als
sleutelwoord, zoals:
werkwijze naarGriezeligeFilm(naam: Slinger, leeftijd: g32) {
als leeftijd > 18 {
schrijf(€"Sorry, {naam}, je bent nog niet oud genoeg.");
bekeer; // kap het hier af
}
schrijf(€"Welkom, {naam}!");
}
naarGriezeligeFilm("Jantje", 14); // Sorry, Jantje, je bent nog niet oud genoeg.
naarGriezeligeFilm("Lodewijk", 46); // Welkom, Lodewijk!
Hierin zie je dat Jantje, die 14 jaar is, niet de film mag zien, maar Lodewijk van 46 wél.
🚶 Bekeer
In het vorige voorbeeld, zag je het gebruik van het bekeer
om de werkwijze af te kappen. Jantje mocht dus niet naar de film. Het bekeer
-sleutelwoord kan je gebruiken om de werkwijze hier te beëindigen (helemaal handig in combinatie met als
), maar je kunt het ook gebruiken om een waarde terug te geven:
werkwijze berekenLeeftijd(geboortejaar: g32) -> g32 {
stel huidigJaar = 2024;
bekeer huidigJaar - geboortejaar;
}
🔁 Volg
Je kunt door een stel cijfers heen lopen, met het volg
-sleutelwoord. De code binnen {
en }
wordt dan uitgevoerd, voor elke waarde van i
.
volg i in reeks(1, 2) {
schrijf(i)
}
Vormen
Er zijn verschillende typen ingebouwd binnen Babbelaar. Hieronder staan de standaardtypen, maar je kunt ook zelf typen bedenken door een structuur
aan te maken.
👍/👎 Booleaanse waarde
Een booleaanse waarde, is een moeilijke naam voor een waarde die of waar
of onwaar
kan zijn. Je kunt bijvoorbeeld bruin haar hebben, of niet:
stel heeftBruinHaar = waar;
stel heeftBlondHaar = onwaar;
🔤 Slinger
Een slinger is een stuk tekst, bijvoorbeeld "Hallo, wereld!"
.
Sjabloonslinger
Een variant op de gewoonlijke slinger, is de sjabloonslinger. Hierin kun je expressies invoegen, om bijvoorbeeld getallen in je slinger op te nemen:
volg i in reeks (0, 11) {
schrijf(€"Het getal is nu {i}");
}
Structuren
Je kunt een stuk gedeelde code, ook indelen in structuren. Je kunt dit doen met bijvoorbeeld heel gewone objecten, zoals een mens, maar ook een ingewikkeld systeem, zodat je het mooi samen kan binden in één bundeltje:
structuur Persoon {
}
Nu hebben we er op dit moment nog vrij weinig aan. Om informatie aan deze Persoon
te koppelen, kunnen we velden maken, waarbij elke Persoon
dus die informatie moet hebben:
structuur Persoon {
veld naam: Slinger,
veld leeftijd: g32,
}
Deze persoon heeft dus een stuk tekst voor hun naam
en een getal als leeftijd
. Om deze Persoon
-structuur te kunnen gebruiken, kun je er eentje aanmaken met nieuw
:
stel alfred = nieuw Persoon {
naam: "Alfred J. Kwak",
leeftijd: 35,
};
schrijf(€"Dit is {alfred.naam} van {alfred.leeftijd} jaar");
Dat laatste stuk vertelt de naam van de persoon en hun leeftijd. Je kunt deze werkwijze ook plaatsen binnen de structuur. In plaats van alfred
, gebruik je in dat geval het dit
-sleutelwoord, om aan te duiden dan het over een algemeen Persoon
gaat (je kunt immers verschillende keer een Persoon
aanmaken):
structuur Persoon {
veld naam: Slinger,
veld leeftijd: g32,
werkwijze zegGedag() {
schrijf(€"Hallo, ik ben {dit.naam} en ik ben {dit.leeftijd} jaar oud.");
}
}
stel alfred = nieuw Persoon {
naam: "Alfred J. Kwak",
leeftijd: 35,
};
alfred.zegGedag(); // Hallo, ik ben Alfred J. Kwak en ik ben 35 jaar oud.
stel pietje = nieuw Persoon {
naam: "Pietje Bell",
leeftijd: 9,
};
pietje.zegGedag(); // Hallo, ik ben Pietje Bell en ik ben 9 jaar oud.