Fandom

RPG Maker Wiki

Array

212páginas nessa wiki
Adicione uma página
Comentários0 Compartilhar

Arrays são os vetores do RGSS. Uma array é uma estrutura de dados indexada, ou seja, é uma variável que contém mais do que uma informação. Tais informações são acessadas através de índices numéricos, sendo cada qual relacionada à uma informação. As arrays no RGSS são bem flexíveis além de serem dinâmicas, o programador não precisa se preocupar quanto ao manuseio da memória enquanto opera com suas arrays, tudo é feito automaticamente pelo Ruby. Elas podem guardar quantos dados forem necessários e esses não precisam ser do mesmo tipo, pois uma mesma array no RGSS aceita diferentes objetos em seu interior, aceitando inclusive outras arrays, o que possibilita a criação de matrizes com quantas dimensões forem necessárias. Uma array com um tamanho inicial se expande automaticamente caso o seja necessário, no entanto, encolher as arrays é algo que deve ser feito manualmente através de determinados comandos.

Declarando

Pode-se declarar arrays no RGSS de diferentes formas:

  • Array vazia - Elas começam com tamanho zero e sem nenhuma informação. São expandidas conforme o necessário. Para criá-la:
# Em ambos métodos a array fica [] 
array = []        # Este é o método mais comum
array = Array.new # É outra forma de criar uma array vazia
  • Array de tamanho N - É uma array com N índices inicialmente disponíveis, mas sem nenhuma informação a priori. Como não tem nenhuma informação cada índice fica associado à nil. Para criá-la:
# Neste exemplo a array tem 5 índices e em todos o resultado
# é uma array assim: [nil, nil, nil, nil, nil]
array = [nil, nil, nil, nil, nil]
array = Array.new(5)      
array = Array.new(5, nil)
  • Array com N objetos - É uma array com N índices inicialmente disponíveis, cada um associado à uma informação que posteriormente pode ser alterada. Para criá-la:
# Neste exemplo a array tem 3 índices
array = [10, "vermelho", 18]   # Neste caso a array fica [10, "vermelho", 18]
array = Array.new(3, "RGSS")   # Neste caso a array fica ["RGSS", "RGSS", "RGSS"]
array = Array.new(3) {|i| i+2} # Neste caso a array fica [2, 3, 4]

Associando e lendo objetos

É muito importante lembrar que os índices das arrays são os números naturais, começando no zero. Dada uma array qualquer, para se acessar uma informação em um certo índice usa-se array[indice]. Exemplos de uso:

# Supondo uma array assim: 
a = [10, "azul", 32, "oi"]
 
a[0] # O índice zero da array a é o número 10
 
a[3] # O resultado disso é "oi"
 
a[54] # Como a array não vai até o índice 54 essa busca resulta em nil

Para associar um objeto à um índice:

# Criando uma array vazia
a = []
 
a[0] = 2 # Isso faz a array a ficar assim: [2]
 
a[2] = "boi" # Isso faz a array ficar assim: [2, nil, "boi"]
 
# Note que lacunas entre dois índices são preenchidos com nil

Principais operações

Um objeto da classe array possui diversas operações, serão mostradas aqui as mais comuns:

  • Concatenação - Consiste em unir duas arrays. Faz-se assim:
a = [32, 53, 10]
b = [5, 4]
a.concat(b) # Isso une b em a 
# Depois deste processo a fica assim: a = [32, 53, 10, 5, 4]
  • Push - Adiciona um objeto ao final da array, independente de seu tamanho. Exemplos de uso:
a = [10]
 
a.push(5)         # Faz com que a fique assim: a = [10, 5]
 
a.push(3, "c")    # Faz com que a fique assim: a = [10, 5, 3, "c"]
 
a << "b"          # Faz com que a fique assim: a = [10, 5, 3, "c", "b"]
 
a << 10 << "oi"   # Faz com que a fique assim: a = [10, 5, 3, "c", "b", 10, "oi"]
  • Unshift - Adiciona um objeto ao início da array. Exemplos de uso:
a = [10]
 
a.unshift(5)         # Faz com que a fique assim: a = [5, 10]
 
a.push("ab", "cd")   # Faz com que a fique assim: a = ["ab", "cd", 5, 10]
  • Pop - Remove o último elemento da array. Exemplos de uso:
a = [1, 2, 3]
 
a.pop # Faz com que a array fique assim: a = [1, 2]
 
a.pop # Faz com que a array fique assim: a = [1]
 
a.pop # Faz com que a array fique assim: a = []
  • Shift - Remove o primeiro elemento da array. Exemplos de uso:
a = [1, 2, 3]
 
a.shift # Faz com que a array fique assim: a = [2, 3]
 
a.shift # Faz com que a array fique assim: a = [3]
 
a.shift # Faz com que a array fique assim: a = []
  • Compact - Remove os índices associados à nil, compactando a array. Isso diminui o tamanho dela. Exemplos de uso:
a = [nil, "b", nil, nil, 1, 2, nil, 3]
 
a = a.compact # Faz com que a array fique assim: a = ["b", 1, 2, 3]
 
# Também pode ser feito assim:
a = [nil, "b", nil, nil, 1, 2, nil, 3]
 
a.compact!    # Faz com que a array fique assim: a = ["b", 1, 2, 3]

Todos os métodos da classe array podem ser encontradas no Ruby-Doc

Ligações externas

Interferência de bloqueador de anúncios detectada!


A Wikia é um site grátis que ganha dinheiro com publicidade. Nós temos uma experiência modificada para leitores usando bloqueadores de anúncios

A Wikia não é acessível se você fez outras modificações. Remova o bloqueador de anúncios personalizado para que a página carregue como esperado.

Outras wikis da Wikia

Wiki aleatória