“Conocimiento Programación>Rubí Programación

Cómo crear una matriz multidimensional en Ruby

2011/3/19
Aunque Rubí no proporciona apoyo explícito a las matrices multidimensionales , puede implementar uno usted mismo si tiene un conocimiento básico del idioma . Usted debe , en esencia, crear una " matriz de matrices " en la que cada elemento de la matriz contiene otra matriz. Para crear una matriz multidimensional como en Ruby , puede escribir un método utilizado para generar las matrices de matrices por lo que el código no tiene que repetirse. Instrucciones
crear una matriz multidimensional en Ruby
1

Escribe el esqueleto del método. Este método se llevará a una serie de argumentos dimensión y devolver una matriz multidimensional vacío de esas dimensiones . Por ejemplo , para una matriz de 10x10 , llamar a este método mda (10,10 ) . Def mda ( ancho, alto ) end
2

Crear una matriz de elementos de ancho

3

Crear una matriz de elementos de altura para cada elemento de la matriz . Esto hace que la " matriz de matrices " que se utilizarán como una matriz de dos dimensiones . Para crear matrices vacías de una longitud específica , utilice el constructor Array.new con la longitud como argumento. Inicialmente, todos los valores de la matriz serán nulas.
4

Usa el mapa ! método así . El mapa! método itera cada elemento de una matriz , se ejecuta un bloque para cada uno y asigna el resultado del bloque para el elemento de matriz . El mismo resultado se puede lograr utilizando un bucle , pero el mapa ! método es más conciso : def mda ( ancho, alto) a = Array.new (ancho ) a.map ! { Array.new (altura ) } devuelve AEND
5

Utilice esta matriz con el (corchetes [ ] ) operador de subíndice. Por ejemplo , si usted tuviera una matriz de 10x10 llamado " a" y quería que el elemento de 7,3, que diría un [ 7 ] [ 3 ] : a = mda (10,10 ) # Llenar la matriz con valuesa [ 7 ] [ ,"5 ] = " una cadena " a [ 2 ] [ 9 ] = 23 # Recuperar valuesputs a [ 7 ] [ 5 ] pone a [2 ] [ 9 ]
6

tomar ventaja de la capacidad de método de "cadena" llama en Ruby. Por ejemplo , el método Array.new devuelve una matriz . Usted puede encadenar otra llamada al método en que para llamar a un método en la matriz devuelta . Puesto que usted es el encadenamiento de los métodos , y no utilizar una sentencia return , que no es necesario el nombre de la variable sea: def mda ( ancho, alto) Array.new (ancho ) mapa { Array.new (altura ) } end . !

Rubí Programación
¿Qué es un árbol binario casi completo?
Cómo depurar Tareas Rake en Netbeans
Cómo reemplazar una clase de Ruby
Cómo eliminar el último elemento de una matriz de Ruby
Cómo construir un Rackup en Ruby Run
Al crear un Bean, ¿cómo hace que sus propiedades estén disponibles para todos los usuarios posibles?
Cómo : Array de Sentencia en Ruby
¿Qué significa en Ruby?
Conocimiento de la computadora © http://www.ordenador.online