O que é um array?
De forma bem simples e direta, um Array é uma coleção de dados.
Na linguagem de programação Ruby um Array pode conter objetos como String, Integer, Fixnum, Hash, Symbol e até mesmo outros Arrays.
Em linguagens como Java e C, você deve declarar explicitamente o tamanho de um array.
Em Ruby, diferente de outras linguagens os arrays crescem automaticamente ao adicionar elementos a eles. Dessa forma não é necessário definir o tamanho de um array.
É importante saber que podemos por exemplo, acessar um elemento em um array por meio do seu índice.
O que é um índice em um Array?
Um índice é a posição de um elemento referente a um array.
Ou seja, quando precisamos por exemplo acessar diretamente o terceiro elemento de um array, uma das formas de se fazer isso em Ruby seria passar o index
2:
> x = [7, 5, 3, 4]
> x[2]
> 3
Detalhes importantes sobre Arrays em ruby
- Os arrays são colocados em colchetes;
- Eles são dinâmicos, ou seja, crescem automaticamente quando são acrescentados elementos;
- Se somarmos dois arrays obteremos um novo array, porém maior (alocado em memória) em vez de fazer aritmética de ponteiros.
Manipulando - Array
Imagine o seguinte cenário, estamos em um supermercado fazendo compras, pegamos um carrinho de compras, dessa forma o carrinho de será o nosso array…
- Criando um array
Primeiramente vamos criar um array vazio (no caso um carrinho de compras vazio):
cart = []
=> []
- Usando o método empty?
Vamos conferir se o nosso carrinho de compras (o array) esta de fato vazio?
cart.empty?
=> true
De fato, como podemos perceber, nosso carrinho esta vazio!
Então vamos às compras...
- Adicionando itens em um Array
Precisamos adicionar alguns itens ao nosso carrinho de compras, e para isso vamos usar o método push:**
cart.push('Arroz')
=> ["Arroz"]
cart.push('Banana')
=> ["Arroz", "Banana"]
cart.push('Farinha de Trigo')
=> ["Arroz", "Banana", "Farinha de Trigo"]
cart.push('Feijão')
=> ["Arroz", "Banana", "Farinha de Trigo", "Feijão"]
- Adicionando itens em uma determinada posição de um Array
Vamos colocar mais 2 itens na primeira posição do nosso carrinho (array)?
cart.insert(0, 'Abóbora', 'Abacaxi')
=> ["Abóbora", "Abacaxi", "Arroz", "Banana", "Farinha de Trigo", "Feijão"]
- Verificando o array:
Vamos verificar como ficou nosso carrinho de compras:
cart
=> ["Abóbora", "Abacaxi", "Arroz", "Banana", "Farinha de Trigo", "Feijão"]
- Acessando alguns dos elementos do array (carrinho):
cart[0]
=> "Abóbora"
cart[2]
=> "Arroz"
cart[4]
=> "Farinha de Trigo"
É possível acessar os itens do último para o primeiro
cart[-1]
=> "Feijão"
cart[-2]
=> "Farinha de Trigo"
cart[-3]
=> "Banana"
cart[-4]
=> "Arroz"
- Acessando o primeiro elemento do array:
Podemos acessar o primeiro elemento do array das 2 formas a seguir...
cart[0]
=> "Abóbora"
ou
cart.first
=> "Abóbora"
- Acessando o último elemento do array:
Para acessar o último da lista podemos fazer das 2 formas a seguir:
cart[5]
=> "Feijão"
ou
cart.last
=> "Feijão"
Vamos conferir novamente se o array esta de fato vazio?
cart.empty?
=> false
- Usando métodos para contar os elementos um array:
Vamos conferir quantos itens temos no carrinho...
cart.count
=> 6
cart.size
=> 6
cart.length
=> 6
- Usando o método include?
Vamos verificar se não esquecemos do Arroz
cart.include?('Arroz')
=> true
cart
=> ["Abóbora", "Abacaxi", "Arroz", "Banana", "Farinha de Trigo", "Feijão"]
- Usando o método delete_at
Ficou muito caro vamos remover o quarto item
cart.delete_at(3)
=> "Banana"
cart
=> ["Abóbora", "Abacaxi", "Arroz", "Farinha de Trigo", "Feijão"]
- Usando o método pop
para remover o último item do array:
Resolvemos excluir o último item
cart.pop
=> "Feijão"
cart
=> ["Abóbora", "Abacaxi", "Arroz", "Farinha de Trigo"]
- Usando o método shift
para remover o primeiro item do array:
Vamos excluir o primeiro?
cart.shift
=> "Abóbora"
cart
=> ["Abacaxi", "Arroz", "Farinha de Trigo"]
Iteração - Array
Vamos iterar (percorrer) no array utilizando os métodos de iteração:
Primeiramente vamos criar um novo array:
cart = ['Arroz', 'Banana', 'Farinha de Trigo', 'Feijão']
=> ["Arroz", "Banana", "Farinha de Trigo", "Feijão"]
Usando o each
para iterar o array
Com o each conseguimos percorrer cada item do nosso array.
cart.each do |item|
puts item
end
Arroz
Banana
Farinha de Trigo
Feijão
=> ["Arroz", "Banana", "Farinha de Trigo", "Feijão"]
Usando o método map
Vamos usar o map?
numbers = [2, 6, 8, 9]
=> [2, 6, 8, 9]
Quando usamos o map
, um novo array é criado para que o nosso array numbers por ex. não seja alterado. Por isso estamos atribuindo esse novo array à variável sums.
sums = numbers.map do |n|
n * 2
end
=> [4, 12, 16, 18]
sums
=> [4, 12, 16, 18]
Vamos manipular o array numbers sem que um novo array seja criado?
Ou seja, iremos sobrescrever o nosso array numbers com o novo array criado pelo map.
numbers = numbers.map{|n| n * 3}
=> [6, 18, 24, 27]
No exemplo acima utilizamos o map inline.
numbers
=> [6, 18, 24, 27]
Usando o método select
Selecionando items do array...
array = [1, 2, 3, 4, 5, 6]
=> [1, 2, 3, 4, 5, 6]
Quando usamos o select
, o select
cria um outro array para que o nosso array por ex. não seja alterado. E por isso estamos atribuindo esse novo array à variável selection.
selection = array.select do |a|
a >= 2
end
=> [2, 3, 4, 5, 6]
selection
=> [2, 3, 4, 5, 6]
Caso você precise saber mais detalhes sobre Array eu sugiro que dê uma olhada na documentação do Ruby que é bastante completa e tem vários exemplos.
Contato:
Email: contato@diegonovais.com.br
LinkedIn: https://www.linkedin.com/in/diegonovais/
Github: https://github.com/dnovais
Top comments (0)