Η αποθήκευση μεταβλητών μέσα στις μεταβλητές είναι ένα κοινό πράγμα στο Ρουμπίνι και συχνά αναφέρεται ως "δομή δεδομένων"Υπάρχουν πολλές ποικιλίες δομών δεδομένων, οι πιο απλές από τις οποίες είναι η συστοιχία.
Τα προγράμματα συχνά πρέπει να διαχειρίζονται συλλογές μεταβλητών. Για παράδειγμα, ένα πρόγραμμα που διαχειρίζεται το ημερολόγιό σας πρέπει να περιλαμβάνει μια λίστα με τις ημέρες της εβδομάδας. Κάθε μέρα πρέπει να αποθηκεύεται σε μια μεταβλητή και μια λίστα από αυτές μπορεί να αποθηκευτεί μαζί σε μια μεταβλητή πίνακα. Μέσω αυτής της μίας μεταβλητής πίνακα, μπορείτε να έχετε πρόσβαση σε κάθε μία από τις ημέρες.
Δημιουργία κενών πλαισίων
Μπορείτε να δημιουργήσετε ένα κενό πίνακα δημιουργώντας ένα νέο αντικείμενο Array και αποθηκεύοντάς το σε μια μεταβλητή. Αυτός ο πίνακας θα είναι κενός. πρέπει να το συμπληρώσετε με άλλες μεταβλητές για να το χρησιμοποιήσετε. Αυτός είναι ένας συνηθισμένος τρόπος δημιουργίας μεταβλητών εάν διαβάζετε μια λίστα με πράγματα από το πληκτρολόγιο ή από ένα αρχείο.
Στο ακόλουθο παράδειγμα προγράμματος, δημιουργείται ένας άδειος πίνακας χρησιμοποιώντας την εντολή πίνακα και τον τελεστή εκχώρησης. Τρεις χορδές (διατεταγμένες ακολουθίες χαρακτήρων) διαβάζονται από το πληκτρολόγιο και "ωθούνται", ή προστίθενται στο τέλος, του πίνακα.
#! / usr / bin / env ruby
array = Array.new
3 φορές
str = get.chomp
array.push str
τέλος
Χρησιμοποιήστε ένα γράφημα Array για να αποθηκεύσετε γνωστές πληροφορίες
Μια άλλη χρήση των συστοιχιών είναι να αποθηκεύσετε μια λίστα με πράγματα που γνωρίζετε ήδη όταν γράφετε το πρόγραμμα, όπως τις ημέρες της εβδομάδας. Για να αποθηκεύσετε τις ημέρες της εβδομάδας σε έναν πίνακα, θα μπορούσατε να δημιουργήσετε έναν άδειο πίνακα και να τις προσαρτήσετε ένα προς ένα στη διάταξη όπως στο προηγούμενο παράδειγμα, αλλά υπάρχει ένας ευκολότερος τρόπος. Μπορείτε να χρησιμοποιήσετε ένα array literal.
Στον προγραμματισμό, ένα "κυριολεκτικό" είναι ένας τύπος μεταβλητής που ενσωματώνεται στην ίδια τη γλώσσα και έχει μια ειδική σύνταξη για να την δημιουργήσει. Για παράδειγμα, 3 είναι μια αριθμητική κυριολεκτική και "Ρουμπίνι" είναι ένα string literal. Μια κυριολεκτική διάταξη είναι μια λίστα μεταβλητών που περικλείονται σε αγκύλες και χωρίζονται με κόμματα, όπως [ 1, 2, 3 ]. Σημειώστε ότι οποιοσδήποτε τύπος μεταβλητών μπορεί να αποθηκευτεί σε έναν πίνακα, συμπεριλαμβανομένων μεταβλητών διαφορετικών τύπων στον ίδιο πίνακα.
Το ακόλουθο παράδειγμα προγράμματος δημιουργεί ένα πίνακα που περιέχει τις ημέρες της εβδομάδας και τις εκτυπώνει. Χρησιμοποιείται μια κυριολεκτική διάταξη και το καθε Ο βρόχος χρησιμοποιείται για την εκτύπωσή τους. Σημειώστε ότι καθε δεν είναι ενσωματωμένη στη γλώσσα Ruby, αλλά είναι μια συνάρτηση της μεταβλητής πίνακα.
#! / usr / bin / env ruby
ημέρες = ["Δευτέρα",
"Τρίτη",
"Τετάρτη",
"Πέμπτη",
"Παρασκευή",
"Σάββατο",
"Κυριακή"
]
ημέρες
βάζει d
τέλος
Χρησιμοποιήστε τον δείκτη χειρισμού για πρόσβαση σε μεμονωμένες μεταβλητές
Πέρα από την απλή επαναφορά σε έναν πίνακα - εξετάζοντας κάθε μεμονωμένη μεταβλητή με τη σειρά - μπορείτε επίσης να μεταβείτε σε μεμονωμένες μεταβλητές από έναν πίνακα χρησιμοποιώντας τον χειριστή ευρετηρίου. Ο χειριστής ευρετηρίου θα πάρει έναν αριθμό και θα ανακτήσει μια μεταβλητή από τον πίνακα του οποίου η θέση στον πίνακα αντιστοιχεί στον αριθμό αυτό. Οι αριθμοί ευρετηρίων αρχίζουν από το μηδέν, οπότε η πρώτη μεταβλητή σε έναν πίνακα έχει δείκτη μηδέν.
Έτσι, για παράδειγμα, για να ανακτήσετε την πρώτη μεταβλητή από έναν πίνακα που μπορείτε να χρησιμοποιήσετε array [0], και για να ανακτήσετε το δεύτερο που μπορείτε να χρησιμοποιήσετε πίνακα [1]. Στο παρακάτω παράδειγμα, μια λίστα ονομάτων αποθηκεύονται σε έναν πίνακα και ανακτώνται και εκτυπώνονται χρησιμοποιώντας τον χειριστή ευρετηρίου. Ο χειριστής ευρετηρίου μπορεί επίσης να συνδυαστεί με τον χειριστή εκχώρησης για να αλλάξει την τιμή μιας μεταβλητής σε έναν πίνακα.
#! / usr / bin / env ruby
ονόματα = ["Bob", "Jim",
"Joe", "Susan"]
βάζει ονόματα [0] # Bob
θέτει ονόματα [2] # Joe
# Αλλαγή Jim στον Billy
ονόματα [1] = "Billy"