Arrays em Ruby
Arrays são estruturas de dados que permitem armazenar uma coleção ordenada de elementos de qualquer tipo. Eles são uma ferramenta fundamental em Ruby para trabalhar com conjuntos de dados.
Criação e acesso aos elementos: Link to heading
- Podem ser criados utilizando colchetes e separando os elementos com vírgulas.
- O tamanho do array pode ser obtido com o método size.
- Os elementos podem ser acessados pelo seu índice, começando com 0.
- Índices negativos podem ser usados para acessar elementos do final do array.
Exemplos: Link to heading
letras = ["q", "w", "e", "r", "t"]
letras.class # => Array
letras.size # => 5
letras[2] # => "e"
letras[-1] # => "t"
letras[100] # => nil
letras[-100] # => nil
letras.include? "q" # => true
letras.include? "b" # => false
Métodos úteis: Link to heading
- primeiro: Obtém o primeiro elemento do array.
- last: Obtém o último elemento do array.
- count: Conta o número de elementos que atendem a uma condição.
- map: Transforma cada elemento do array e retorna um novo array.
- select: Filtra os elementos do array e retorna um novo array com aqueles que atendem a uma condição.
- min: Obtém o elemento mínimo do array.
- max: Obtém o elemento máximo do array.
- soma: Soma todos os elementos do array.
Exemplos: Link to heading
letras = ["q", "w", "e", "r", "t"]
letras.first # => "q"
letras.last # => "t"
letras.count { |x| x == "q" } # => 1
[1, 2, 3, 4, 5].count { |x| x.even? } # => 2
[1, 2, 3, 4, 5].map { |x| x * 2 } # => [2, 4, 6, 8, 10]
[1, 2, 3, 4, 5].select { |x| x.odd? } # => [1, 3, 5]
[1, 2, 3, 4, 5].min # => 1
[1, 2, 3, 4, 5].max # => 5
[1, 2, 3, 4, 5].sum # => 15
Tratamento de diferentes tipos de dados: Link to heading
Arrays podem armazenar elementos de qualquer tipo, incluindo outros arrays.
Exemplo: Link to heading
array = [4, 4.5, "string", :symbol, []]
array.map { |x| x.class } # => [Integer, Float, String, Symbol, Array]
Trabalhe com strings: Link to heading
Strings podem ser divididas em arrays usando o método split.
Exemplo: Link to heading
"Olá mundo".split(" ") # => ["Olá", "mundo"]
"Olá mundo".split(" ").size # => 2
"Olá mundo".split(" ").map { |x| x.upcase } # => ["OLÁ", "MUNDO"]
"Olá mundo".split(" ").map { |x| x.upcase }.join("\n") # => "OLÁ\nMUNDO"
puts("Olá mundo".split(" ").map { |x| x.upcase }.join("\n")) # OLÁ MUNDO
Classificar matrizes: Link to heading
Eles podem ser classificados usando o método sort.
Exemplo: Link to heading
letras = ["q", "w", "e", "r", "t"]
letras.sort # => ["e", "q", "r", "t", "w"]
sort_letras = letras.sort
letras # => ["q", "w", "e", "r", "t"]
sort_letras = letras.sort!
letras # => ["e", "q", "r", "t", "w"] # A matriz original é modificada
Arrays são uma ferramenta poderosa para trabalhar com dados em Ruby. Sua flexibilidade e simplicidade os tornam uma parte fundamental da linguagem.