In dit deel leren we wat strings precies zijn en wat we er allemaal mee kunnen doen.

Strings

Even herhalen: strings zijn een een sliert van tekens. Deze tekens kunnen bestaan uit zowel hoofd- als kleine letters, cijfers (0 tot 9) en andere symbolen dit je op je toetsenbord kan typen (+,-,@,€,…). Deze komen van pas als je bijvoorbeeld namen of antwoorden wilt opslaan. Hieronder zie je een aantal blokjes uit het palet Functies dat we kunnen gebruiken met strings:

Blok Uitleg
(join "appel" "kers") Voeg twee strings aan elkaar. In dit voorbeeld is het resultaat "appelkers".
(letter "1" of "appel"); In dit voorbeeld is het resultaat van dit blokje de letter die op de eerste plaats staat, namelijk de letter "a".
(length of "appel"); Het resultaat van het blokje is de lengte van de string. Je telt dus alle tekens, ook de spaties! In dit voorbeeld is het resultaat 5.
<"appel" contains "a"?>; In dit voorbeeld is het resultaat van het blokje true (waar) als "appel" de letter "a" bevat.

Twee van deze blokken hebben wij al eens gebruikt. Laten we daarom eens kijken naar de twee nieuwe blokken!

Een klein voorbeeldje

when greenflag clicked set [positie] to {1}; say "Hallo" for {2} seconds; say "Ik ga een woord spellen." for {2} seconds; repeat (length of "appel") say (letter (positie) of "appel") for {2} seconds; change [positie] by {1};

In dit voorbeeld wordt het woord “appel” gespeld. Om dit te kunnen doen moeten we een variabele gebruiken. De variabele positie wijst altijd naar de positie van de letter die we willen zeggen. We beginnen met de eerste letter, dus maken we de variabele gelijk aan 1.

We gebruiken ook een herhaallus om elke letter één voor één te spellen. Het aantal herhalingen dat de lus zal doen is gelijk aan de lengte van het woord. Om ervoor te zorgen dat de volgende letter wordt gezegd, moet de variabele positie elke keer verschuiven en wijzen naar de volgende letter. Dit doen we door de waarde van die variabele telkens met 1 te verhogen.

En nu aan de slag
  1. Maak het voorbeeld eens na in Scratch en voer het uit.
  2. Kan je dit voorbeeld aanpassen?
    1. Als je een ander woord zou willen spellen moet je twee keer het woord appel vervangen. Dit willen we versimpelen! Maak een nieuwe variabele die het woord voorstelt, en gebruik die variabele in de plaats van het woord “appel”. Hoeveel aanpassingen moet je nu doen als je een ander woord wil spellen?
    2. Vraag naar een woord van de speler en spel dat woord.
  3. Klinkers tellen
    1. Vraag aan de speler een zin.
    2. Onderzoek alle letters.
      1. Als je een klinker (A, E, I, O, U) tegenkomt, dan tel je die [TIP: Gebruik een variabele]
    3. Vertel de speler hoeveel klinkers er in de zin aanwezig waren.
  4. Woordzoeker: De speler zegt een zin en Ruby zoekt een woord (bijvoorbeeld “appel”) in die zin
    1. Laat Ruby eerst vertellen welk woord ze zal zoeken in de zin die de speler zal geven.
    2. Vraag naar een woord of zin van de speler.
    3. In plaats van een ALS test te gebruiken kunnen we nu gebruik maken van het HERHAAL TOT blokje.
      1. Test of het woord dat jij zoekt in het woord of de zin van de speler zit. Gebruik daarvoor het volgende blokje: <"" contains "(jouw woord)"?>
      2. Als jouw woord niet in de zin van de speler zit, dan vraag je opnieuw een zin.
      3. Je blijft dit HERHALEN TOT de test goed is, en dus jouw woord in de zin terug te vinden is.
    4. Als je het woord hebt gevonden, laat Ruby dan nog iets leuk zeggen.
    5. TIP: Maak gebruik van een variabele om het antwoord van de speler in op te slaan.
    6. Vergelijk jouw oplossing met de onze!

Geweldig! Klaar voor het volgende deel? Kom dan maar mee!