Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> ρουμπίνι Προγραμματισμός

Πώς να δημιουργήσετε έναν Πολυδιάστατο Array σε Ruby

Αν Ruby δεν προβλέπει ρητά την υποστήριξη για πολυδιάστατους πίνακες , μπορείτε να εφαρμόσετε ένα οι ίδιοι , αν έχετε μια βασική γνώση της γλώσσας . Θα πρέπει στην ουσία να δημιουργήσει μια « σειρά από πίνακες" στην οποία κάθε στοιχείο του πίνακα κατέχει ακόμη σειρά . Για να δημιουργήσετε ένα τέτοιο πολυδιάστατο πίνακα σε Ruby , μπορείτε να γράψετε μια μέθοδος που χρησιμοποιείται για να δημιουργήσει τις συστοιχίες συστοιχιών κατά τρόπον ο κωδικός δεν πρέπει να επαναληφθεί . Οδηγίες
Δημιουργήστε έναν Πολυδιάστατο Array σε Ruby
Η 1

Γράψτε το σκελετό της μεθόδου . Η μέθοδος αυτή θα λάβει μια σειρά από επιχειρήματα διάσταση και να επιστρέψει ένα άδειο πολυδιάστατο πίνακα αυτών των διαστάσεων . Για παράδειγμα , για μια σειρά 10x10 , καλέσετε τη μέθοδο αυτή MDA ( 10,10 ) : def MDA ( πλάτος , ύψος) τέλος 2

Δημιουργήστε μια σειρά από στοιχεία πλάτους
Η <. br > 3

Δημιουργήστε μια σειρά από στοιχεία μεγάλου ύψους για κάθε στοιχείο του πίνακα . Αυτό καθιστά τη « συστοιχία των συστοιχιών » που θα χρησιμοποιηθεί ως ένα δισδιάστατο πίνακα . Για να δημιουργήσετε κενό συστοιχίες ενός συγκεκριμένου μήκους , χρησιμοποιήστε τον κατασκευαστή Array.new με το μήκος ως επιχείρημα . Αρχικά , όλες οι τιμές του πίνακα θα είναι μηδενική .
Η 4

Χρησιμοποιήστε το χάρτη ! Μέθοδος όπως επίσης. Ο χάρτης ! μέθοδος επαναλαμβάνεται κάθε στοιχείο σε μια σειρά , τρέχει ένα μπλοκ για κάθε ένα και αποδίδει το αποτέλεσμα του μπλοκ στο στοιχείο του πίνακα . Το ίδιο αποτέλεσμα μπορεί να επιτευχθεί με τη χρήση ενός βρόχου for , αλλά ο χάρτης ! μέθοδος είναι πιο περιεκτική : def MDA ( πλάτος , ύψος) a = Array.new (πλάτος ) a.map ! { Array.new ( ύψος ) } επιστροφή aend
5

Χρησιμοποιήστε αυτή τη σειρά με το δείκτη ( σε αγκύλες [] ) χειριστή . Για παράδειγμα , εάν είχατε ένα 10x10 πίνακα που ονομάζεται "α" και ήθελε το στοιχείο 7,3 , θα σας πω ένα [ 7 ] [ 3 ] : α = MDA ( 10,10 ) # Συμπληρώστε τον πίνακα με valuesa [ 7 ] [ ,"Gia parádeigma , eán eíchate éna 10x10 pínaka pou onomázetai "a" kai í̱thele to stoicheío 7,3 , tha sas po̱ éna [ 7 ] [ 3 ] :̱ a = MDA ( 10,10 ) # Sympli̱ró̱ste ton pínaka me valuesa [ 7 ] [ 5 ] = "a string" a [ 2 ] [ 9 ] = 23 # Ανάκτηση valuesputs ένα [ 7 ] [ 5 ] βάζει [ 2 ] [ 9 ]
Η 6

Επωφεληθείτε από τη δυνατότητα να μέθοδο της " αλυσίδας " καλεί σε Ruby . Για παράδειγμα, η μέθοδος Array.new επιστρέφει έναν πίνακα . Μπορείτε να συνδέσετε αλυσιδωτά άλλη μέθοδο κλήση πάνω ότι για να καλέσετε μια μέθοδο για το επιστρεφόμενο πίνακα . Δεδομένου ότι είστε σύνδεσης των μεθόδων , και όχι χρησιμοποιώντας μια δήλωση επιστροφής , δεν χρειάζεται το όνομα της μεταβλητής είτε : def MDA ( πλάτος , ύψος) Array.new (πλάτος ) { χάρτη Array.new ( ύψος) } τέλος . !
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα