Você está aqui: Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Invertendo a ordem dos elementos em um array

Quantidade de visualizações: 8018 vezes
# Este exemplo mostra como inverter a ordem dos
# elementos em um array usando os métodos reverse
# e reverse!

# A diferença entre reverse e reverse! é que o último efetua
# alterações no array original

# Cria um array de inteiros
valores = [2, 1, 3, 14, 9, 0, 3]

# Exibe os valores do array original
valores.each do | valor |
  puts valor
end

puts
# Obtém um novo array com a ordem invertida
valores2 = valores.reverse
valores2.each do | valor |
  puts valor
end

puts
# Reverte a ordem dos elementos no array original
valores.reverse!
valores.each do | valor |
  puts valor
end


Link para compartilhar na Internet ou com seus amigos:

Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para leitura em Ruby sem a necessidade de métodos acessores usando a função attr_reader

Quantidade de visualizações: 6878 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas usando métodos acessores, ou seja, uma variável de instância @nome deve ser lida usando um método obter_nome.

É possível dispensar o uso de métodos acessores empregando o método attr_reader nos nomes das variáveis que poderão ser acessadas, para leitura, é claro. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# Definição da classe Cliente
class Cliente
   attr_reader :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
    
   def obter_nome
      @nome
   end
    
   def obter_idade
      @idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade de
# métodos acessórios
puts cliente.nome
puts cliente.idade

Sem o uso do método attr_reader, a linha:

puts cliente.nome


causaria o seguinte erro:

teste.rb:25: undefined method `nome' for 
#<Cliente:0x27f540c @nome="Osmar J. S
ilva", @idade=35> (NoMethodError)



Ruby ::: Dicas & Truques ::: Data e Hora

Como retornar os minutos em Ruby a partir de um objeto da classe Time usando a função min

Quantidade de visualizações: 6240 vezes
Muitas vezes precisamos obter os minutos de uma determinada hora a partir de um determinado objeto Time. Para isso a classe Time nos fornece o método min. Este método retorna um número inteiro na faixa 0..59.

Veja uma demonstração de como usar este método no trecho de código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# constrói um objeto Time com a data e hora atual
agora = Time.now

# obtém os minutos
minutos = agora.min

# exibe o resultado
puts "Os minutos são: " + minutos.to_s

Ao executar este código Ruby nós teremos o seguinte resultado:

Os minutos são: 7


Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como ordenar um array em Ruby usando as funções sort e sort!

Quantidade de visualizações: 11768 vezes
Em várias situações nós precisamos ordenar arrays na linguagem Ruby. Para isso nós podemos usar a função sort, que ordenará os elementos do array em ordem crescente.

Veja o código Ruby a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

=begin
  Este trecho de código mostra como ordenar
  um array de inteiros usando o método sort
  da classe Array.  
=end

# define um array de inteiros
valores = [10, 3, 56, 100, 34, 0, 4]

# exibe os valores na ordem original
puts "Ordem original:"
for valor in valores
  print valor.to_s + " "
end

# array ordenado
puts "\n\nOrdenado do menor para o maior:"
valores = valores.sort # ordena o array
for valor in valores
  print valor.to_s + " "
end

Ao executar este código Ruby nós teremos o seguinte resultado:

Ordem original:
10 3 56 100 34 0 4

Ordenado do menor para o maior:
0 3 4 10 34 56 100

Se quisermos que a ordenação seja feita no array original, sem criar uma cópia, podemos usar a função sort!. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

=begin
  Este trecho de código mostra como ordenar
  um array de inteiros usando o método sort
  da classe Array.  
=end

# define um array de inteiros
valores = [10, 3, 56, 100, 34, 0, 4]

# exibe os valores na ordem original
puts "Ordem original:"
for valor in valores
  print valor.to_s + " "
end

# array ordenado
puts "\n\nOrdenado do menor para o maior:"
valores.sort! # ordena o array
for valor in valores
  print valor.to_s + " "
end



Desafios, Exercícios e Algoritmos Resolvidos de Ruby

Veja mais Dicas e truques de Ruby

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 53 usuários muito felizes estudando em nosso site.