Programação  
 
Conhecimento computador >> Programação >> Programming Ruby >> 
Como criar uma matriz multidimensional em Ruby
Apesar de Ruby não fornecer suporte explícito para arrays multidimensionais , você pode implementar um a si mesmo se você tiver um conhecimento básico da língua . Você deve , em essência, criar um " array de arrays ", em que cada elemento da matriz contém ainda um outro array. Para criar uma matriz multidimensional como em Ruby, você pode escrever um método usado para gerar os arrays de arrays para que o código não tem que ser repetido. Instruções
Criar uma matriz multidimensional em Ruby
1

Escreva o esqueleto do método. Este método vai tomar uma série de argumentos de dimensão e retornar um array multidimensional vazio dessas dimensões . Por exemplo, para uma matriz 10x10, chamar esse método mda (10,10) : def mda ( largura, altura ) end
2

Criar uma matriz de elementos de largura
< . br> 3

Criar uma matriz de elementos de altura para cada elemento da matriz. Isso faz com que a " matriz de matrizes " que vai ser utilizado como uma matriz bidimensional . Para criar matrizes vazias de um comprimento específico , use o construtor Array.new com o comprimento como um argumento. Inicialmente, todos os valores na matriz será nulo .
4

Use o mapa ! método bem . O mapa ! método itera cada elemento em uma matriz , executa um bloco para cada um e atribui o resultado do bloco para o elemento da matriz. O mesmo resultado pode ser conseguido utilizando um loop , mas o mapa ! método é mais conciso : def mda ( largura, altura ) a = Array.new (largura) a.map ! { Array.new (altura) } retornar AEnD
5

Utilize este array com o índice ( entre colchetes []) operador. Por exemplo , se você tivesse uma matriz 10x10 chamado de " a" e queria que o elemento 7,3 , você diria que um [7 ] [3] : a = mda (10,10) # Preencha a matriz com valuesa [7] [ ,"5] = "a string" a [2 ] [9] = 23 # Recupera valuesputs um [7 ] [5] coloca um [2] [ 9]
6

Aproveite a capacidade de método de " cadeia " chama em ruby. Por exemplo , o método Array.new retorna uma matriz . Você pode encadear uma outra chamada de método para que chamar um método na matriz retornada . Desde que você está acorrentando os métodos , e não usando uma instrução de retorno , você não precisa o nome da variável ou: mda def (largura , altura) Array.new (largura) mapear { Array.new (altura) } end . !

Anterior :

Próximo : No
  Os artigos relacionados
·Como escapar de saída HTML no Rails 
·Como usar scripts Ruby em Sketchup 
·Como lidar com exceções em Ruby 
·Como usar Rails Rake atualizar Projetos 
·Como remover os zeros à esquerda de uma cadeia de text…
·Como saída de um arquivo em Ruby 
·Como acelerar o Apache Rails passageiros 
·Como atualizar o Ruby Gems 
·Como: Array para sentença em Ruby 
·Como aprender Rubi 
  Artigos em destaque
·Como usar o PHP mail para enviar para uma mailing list 
·Como rastrear lentamente em JavaScript 
·Como ocultar pela classe em JavaScript 
·É Java fortemente tipado Importante 
·Como Resolver Problemas de Matemática Binary 
·Instalação não-raiz de módulos Python 
·Tipos de dados COBOL 
·Como instalar o RubyGems 
·Java : Static Linking 
·Como corrigir o NTLDR Sem um disco para recuperar de 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados