Anche se Ruby non fornisce supporto esplicito per gli array multidimensionali , è possibile implementare uno voi stessi se avete una conoscenza di base della lingua . In sostanza, è necessario creare un " array di array ", in cui ogni elemento della matrice contiene un altro array. Per creare un tale array multidimensionale in Ruby , è possibile scrivere un metodo utilizzato per generare gli array di array in modo che il codice non deve essere ripetuto .
Istruzioni di creare un array multidimensionale in Ruby
1
Scrivere lo scheletro del metodo . Questo metodo ci vorrà un certo numero di argomenti dimensionali e restituire un array multidimensionale vuoto di quelle dimensioni . Ad esempio , per una matrice 10x10 , chiamare questo metodo MDA ( 10,10 ) : . Def MDA ( larghezza, altezza ) fine
2
Creare un array di elementi di larghezza
3
Creare un array di elementi di altezza per ogni elemento della matrice . Questo rende il " array di array" che verranno utilizzati come una matrice bidimensionale . Per creare array vuoti di una lunghezza specifica , utilizzare il costruttore Array.new con la lunghezza come argomento . Inizialmente , tutti i valori della matrice saranno pari a zero .
4
Utilizza la mappa ! metodo. La mappa ! metodo itera ogni elemento di un array , viene eseguito un blocco per ogni uno e assegna il risultato del blocco per l'elemento di matrice . Lo stesso risultato può essere ottenuto utilizzando un ciclo , ma la mappa! metodo è più conciso : def MDA ( larghezza, altezza ) a = Array.new (larghezza ) a.map ! { Array.new (altezza ) } restituisce AEND
5
Utilizzare questa matrice con la ( parentesi quadre [ ] ) operatore pedice . Ad esempio , se si ha un array di 10x10 chiamato "a" e voleva l'elemento 7,3 , si direbbe un [7 ] [3 ] : a = MDA ( 10,10 ) # Riempire la matrice con valuesa [ 7 ] [ ,"5 ] = " una stringa" a [ 2 ] [ 9 ] = 23 # Recupera valuesputs un [7 ] [5 ] mette a [2 ] [ 9 ]