Het opslaan van variabelen binnen variabelen komt veel voor Robijn en wordt vaak een "data structuur. "Er zijn veel verschillende soorten datastructuren, de eenvoudigste is de array.
Programma's moeten vaak verzamelingen variabelen beheren. Een programma dat uw agenda beheert, moet bijvoorbeeld een lijst met de dagen van de week hebben. Elke dag moet in een variabele worden opgeslagen en een lijst ervan kan samen in een matrixvariabele worden opgeslagen. Via die ene array-variabele heb je toegang tot elk van de dagen.
Lege arrays maken
U kunt een lege array maken door een nieuw Array-object te maken en op te slaan in een variabele. Deze array is leeg; je moet het vullen met andere variabelen om het te gebruiken. Dit is een veelgebruikte manier om variabelen te maken als u een lijst met dingen vanaf het toetsenbord of vanuit een bestand zou lezen.
In het volgende voorbeeldprogramma wordt een lege array gemaakt met de arrayopdracht en de toewijzingsoperator. Drie reeksen (geordende reeksen tekens) worden gelezen vanaf het toetsenbord en 'gepusht' of toegevoegd aan het einde van de array.
#! / usr / bin / env robijn
array = Array.new
3. keer doen
str = krijgt.chomp
array.push str
einde
Gebruik een matrixliteraal om bekende informatie op te slaan
Een ander gebruik van arrays is om een lijst op te slaan van dingen die u al weet wanneer u het programma schrijft, zoals de dagen van de week. Om de dagen van de week in een array op te slaan, kunt u een lege array maken en deze één voor één aan de array toevoegen zoals in het vorige voorbeeld, maar er is een eenvoudigere manier. U kunt een letterlijke array.
Bij het programmeren is een "letterlijke" een type variabele die in de taal zelf is ingebouwd en een speciale syntaxis heeft om deze te creëren. Bijvoorbeeld, 3 is een numerieke letterlijke en "Robijn" is een letterlijke tekenreeks. Een letterlijke array is een lijst met variabelen tussen vierkante haken en gescheiden door komma's, zoals [ 1, 2, 3 ]. Merk op dat elk type variabelen in een array kan worden opgeslagen, inclusief variabelen van verschillende typen in dezelfde array.
Het volgende voorbeeldprogramma maakt een array met de dagen van de week en drukt deze af. Er wordt een letterlijke array gebruikt en de elk lus wordt gebruikt om ze af te drukken. Let daar op elk is niet ingebouwd in de Ruby-taal, maar is een functie van de matrixvariabele.
#! / usr / bin / env robijn
dagen = ["maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag",
"Zondag"
]
dagen. elk doen | d |
zet d
einde
Gebruik de Index Operator om toegang te krijgen tot individuele variabelen
Naast het eenvoudig herhalen van een array - het onderzoeken van elke individuele variabele in volgorde - kunt u ook toegang krijgen tot individuele variabelen van een array met behulp van de indexoperator. De indexoperator neemt een nummer en haalt een variabele op uit de array waarvan de positie in de array overeenkomt met dat nummer. Indexnummers beginnen bij nul, dus de eerste variabele in een array heeft een index van nul.
Dus om bijvoorbeeld de eerste variabele op te halen uit een array die je kunt gebruiken matrix [0]en om de tweede op te halen die u kunt gebruiken reeks [1]. In het volgende voorbeeld wordt een lijst met namen opgeslagen in een array en opgehaald en afgedrukt met de indexoperator. De indexoperator kan ook worden gecombineerd met de toewijzingsoperator om de waarde van een variabele in een array te wijzigen.
#! / usr / bin / env robijn
names = ["Bob", "Jim",
"Joe", "Susan"]
zet namen [0] # Bob
zet namen [2] # Joe
# Verander Jim in Billy
names [1] = "Billy"