Cursus Raku / Essentiëlen / Positionele datentypen

Arrays

Arrays zijn aggregatiedatatypen die meer dan één waarde kunnen bevatten. Dat onderscheidt arrays van scalaire items. Array-elementen kunnen worden geïndexeerd (of gesubscript). Met andere woorden, de elementen hebben een positie (wat de algemene naam voor dit soort data verklaart: positionals).

Array-variabelen gebruiken een ander soort sigil: @. De regels voor de variabelenaam zijn hetzelfde als voor scalairs.

my @cities;

Tot nu toe is de array genaamd @cities aangemaakt. Je kunt deze vullen met enkele waarden:

@cities = 'Parijs', 'Rome', 'Berlijn';

Als alternatief is het mogelijk om de waarden direct te initialiseren:

my @cities = 'Parijs', 'Rome', 'Berlijn';

Indexeren

Om toegang te krijgen tot een enkel item van een array, gebruik je een paar haakjes die je na de naam van de variabele plaatst:

say @cities[1];

Merk op dat de sigil altijd hetzelfde blijft. Aangezien elementen vanaf nul worden geteld, is het element @cities[1] 'Rome' in ons voorbeeld.

Arrays zijn muteerbaar, dus je kunt de items ervan eenvoudig wijzigen door er simpelweg een nieuwe waarde aan toe te wijzen:

@cities[0] = 'Rome';
@cities[1] = 'Parijs';

Hierna zal de uitspraak say @cities[1] de nieuwe waarde 'Parijs' afdrukken.

Grootte

Om de huidige lengte van een array te krijgen, of, met andere woorden, het aantal elementen, gebruik je de elems-methode:

say @cities.elems; # 3

Als de array verschijnt in een context waar de verwachte parameter een getal is, is de retourwaarde de grootte van de array:

say +@cities; # 3

Hier vereist de + prefix-operator een numerieke waarde van zijn argument, dus het resultaat van +@cities is 3.

Oefening

Maak de quiz die de inhoud van dit onderwerp behandelt.

Cursusnavigatie

Positionele datentypen   |   Positionele datentypen / Geneste arrays


💪 Or jump directly to the exercises to this section.

Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.

Vertalingen van deze pagina: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська