Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Ruby ::: Fundamentos da Linguagem ::: Estruturas de Controle

Usando a estrutura condicional if em Ruby

Quantidade de visualizações: 8825 vezes
# Este trecho de código mostra como usar a
# instrução condicional if em Ruby

valor = 10

if valor > 5
  puts "Valor é maior que 5"
end


Link para compartilhar na Internet ou com seus amigos:

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

Programação Orientada a Objetos em Ruby: Classes, objetos, métodos e variáveis de instância

Quantidade de visualizações: 11031 vezes
A melhor forma de entender a programação orientada a objetos é começar com uma analogia simples. Suponha que você queira dirigir um carro e fazê-lo ir mais rápido pressionado o acelerador. O que deve acontecer antes que você seja capaz de fazer isso?

Bem, antes que você possa dirigir um carro, alguém tem que projetá-lo. Um carro geralmente começa com desenhos feitos pelos engenheiros responsáveis por tal tarefa, tal qual a planta de uma casa. Tais desenhos incluem o projeto de um acelerador que possibilita ao carro ir mais rápido.

O pedal do acelerador "oculta" os mecanismos complexos responsáveis por fazer o carro ir mais rápido, da mesma forma que o pedal de freio "oculta" os mecanismos que fazem o carro ir mais devagar e o volante "oculta" os mecanismos que fazem com que o carro possa virar para a direita ou esquerda. Isso permite que pessoas com pequeno ou nenhum conhecimento de motores possam facilmente dirigir um carro.

Infelizmente, não é possível dirigir o projeto de um carro. Antes que possamos dirigí-lo, o carro deve ser construído a partir do projeto que o descreve. Um carro já finalizado tem um pedal de aceleração de verdade, que faz com que o carro vá mais rápido. Ainda assim, é preciso que o motorista pressione o pedal. O carro não acelerará por conta própria.

Agora vamos usar nosso exemplo do carro para introduzir alguns conceitos de programação importantes à programação orientada a objetos. A execução de uma determinada tarefa em um programa exige um método ou função. O método (ou função) descreve os mecanismos que, na verdade, executam a tarefa.

O método oculta tais mecanismos do usuário, da mesma forma que o pedal de aceleração de um carro oculta do motorista os mecanismos complexos que fazem com que um carro vá mais rápido.

Em Ruby, começamos criando uma unidade de programa chamada classe para abrigar um método, da mesma forma que o projeto de um carro abriga o design do pedal de acelerador. Em uma classe fornecemos um ou mais métodos que são projetados para executar as tarefas da classe.

Por exemplo, a classe que representa uma conta bancária poderia conter muitos métodos, incluindo um método para depositar dinheiro na conta, outro para retirar dinheiro, um terceiro para verificar o saldo, e assim por diante.

Da mesma forma que não podemos dirigir o projeto de um carro, nós não podemos "dirigir" uma classe. Da mesma forma que alguém teve que construir um carro a partir de seu projeto antes que pudessémos dirigí-lo, devemos construir um objeto de uma classe antes de conseguirmos executar as tarefas descritas nela.

Quando dirigimos um carro, o pressionamento do acelerador envia uma mensagem ao carro informando-o da tarefa a ser executada (neste caso informando-o de que queremos ir mais rápido). Da mesma forma, enviamos mensagens aos objetos de uma classe. Cada mensagem é uma chamada de método e informa ao objeto qual ou quais tarefas devem ser executadas.

Até aqui nós usamos a analogia do carro para introduzir classes, objetos e métodos. Já é hora de saber que um carro possui atributos (propriedades) tais como cor, o número de portas, a quantidade de gasolina em seu tanque, a velocidade atual, etc. Tais atributos são representados como parte do projeto do carro. Quando o estamos dirigindo, estes atributos estão sempre associados ao carro que estamos usando, e cada carro construído a partir do projeto sofrerá variações nos valores destes atributos em um determinado momento.
Da mesma forma, um objeto tem atributos associados a ele quando o usamos em um programa. Estes atributos são definidos na classe a partir da qual o objeto é instanciado (criado) e são chamados de variáveis de instância da classe.

Veremos agora como definir uma classe em Ruby e usar um objeto desta classe em um programa. Veja o trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# Definição da classe Cliente
class Cliente
   def definir_nome(nome)
      @nome = nome
   end
    
   def obter_nome
      @nome
   end
end

# Cria uma instância da classe Cliente
cliente = Cliente.new

# Efetua uma chamada ao método definir_nome
cliente.definir_nome("Laura Maria dos Santos")

# Efetua uma chamada ao método obter_nome
print "O nome do cliente é " + cliente.obter_nome

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

O nome do cliente é Laura Maria dos Santos


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em Ruby usando a função size

Quantidade de visualizações: 8349 vezes
Em várias situações nós precisamos obter e retornar a quantidade de caracteres em uma palavra, frase ou texto em Ruby. Para isso nós podemos usar a função size, que retorna um inteiro contendo a quantidade de caracteres na string.

Veja um exemplo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# vamos declarar uma string
frase = "Gosto de PHP"

# vamos mostrar a string
puts "A frase é: " + frase

# vamos obter a quantidade de caracteres 
# na string
tamanho = frase.size

# exibe o resultado
puts "A frase contém " + tamanho.to_s +
  " caracteres"

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

A frase é: Gosto de PHP
A frase contém 12 caracteres


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: 6902 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 para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# 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 ::: Strings e Caracteres

Como concatenar strings em Ruby usando o operador <<

Quantidade de visualizações: 8385 vezes
Esta dica mostra como podemos usar o operador << para concatenar strings em Ruby. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

frase1 = "Gosto muito de Ruby"
frase2 = " e de Python"

# vamos concatenar as duas strings
res = frase1 << frase2

# exibe o resultado
puts res

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

Gosto muito de Ruby e de Python


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como remover espaços no início e final de uma string usando as funções strip e strip! da linguagem Ruby

Quantidade de visualizações: 10393 vezes
As funções strip e strip! são úteis quando precisamos remover espaços no início e final de uma string. A função strip retorna uma nova string, enquanto strip! opera na string original. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# declara e inicializa uma variável string
frase = "  Tenho espaços no início e final.   "

# vamos remover os espaços no início e final da
# string. 

# sem alterar a string original
frase2 = frase.strip
puts frase2

# alterando a string original
frase.strip!
puts frase

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

Tenho espaços no início e final.
Tenho espaços no início e final.


Ruby ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string em um valor inteiro válido em Ruby usando a função to_i

Quantidade de visualizações: 8717 vezes
Em algumas situações nós temos que efetuar cálculos matemáticos usando valores fornecidos como texto. Para isso nós precisamos converter esses valores que chegam como string em valores numéricos válidos.

Em Ruby nós podemos converter uma string em um inteiro usando a função to_i.

Veja um exemplo que mostra como ler a entrada do usuário em Ruby
a partir do teclado e efetuar um cálculo matemático:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# Veja o uso do método to_i para converter um string
# em um valor inteiro válido

print "Informe o primeiro número: "
num1 = (gets.chomp).to_i
print "Informe o segundo número: "
num2 = (gets.chomp).to_i

# Exibe o resultado
puts "A soma dos valores é: #{num1 + num2}"

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

Informe o primeiro número: 8
Informe o segundo número: 2
A soma dos valores é: 10


Ruby ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

Como criar métodos que aceitam um número variável de argumentos em Ruby

Quantidade de visualizações: 7854 vezes
Como criar uma função que aceita um número variável de argumentos em Ruby

É muito fácil criar métodos que aceitam um número variável de argumentos na linguagem Ruby. Tudo que temos que fazer é fornecer um parâmetro antecedido por um asterisco. Se mais parâmetros forem fornecidos, aquele que contém o asterisco deverá vir no final da lista. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# Um método que aceita um número variável de
# argumentos
def somar(*args)
   total = 0
   
   args.each do | arg |
      total = total + arg
   end
    
   return total 
end
 
# Usa o método com 3 argumentos
puts(somar(3, 4, 2))

# Usa o método com 2 argumentos
puts(somar(10, 20))

# Usa o método com 1 argumento
puts(somar(5))

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

9
30
5

Neste exemplo eu dei o nome args para o parâmetro com asterisco, mas podemos usar qualquer nome.


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

Datas e horas em Ruby: Time, Date ou DateTime - Qual classe devo usar?

Quantidade de visualizações: 8539 vezes
A linguagem Ruby oferece três classes básicas para lidar com datas e horas: Time, Date e DateTime. Para ajudá-lo em seus estudos, veja uma descrição breve de cada uma:

1) A classe Time está mais para um encapsulamento das funções de datas e horas da biblioteca C. Estas bibliotecas são geralmente baseadas na época UNIX (UNIX epoch) e, assim, não conseguem representar datas e horas antes de 1970.

2) A classe Date foi criada para superar estas deficiências da classe Time. Com esta classe nós podemos lidar com datas realmente antigas, tais como o aniversário de Leonardo da Vinci (15 de abril de 1452) e, esta classe funciona muito bem com a reforma do calendário. No entanto, a classe Date não permite lidar com horas, ou seja, ao usá-la não seremos capazes de representar a hora que Leonardo da Vinci nasceu. Apenas a data de nascimento.

3) A classe DateTime herda da Date e tenta ser o melhor de ambos os mundos. Com esta classe podemos representar datas da mesma forma que Date e horas da mesma forma que Time. Geralmente os desenvolvedores optam por esta classe, por considerá-la a forma mais correta de representar datas e horas.


Vamos testar seus conhecimentos em Ética e Legislação Profissional

Introdução à Ética

Como e por que julgamos que uma ação é correta ou não? Quais os critérios que devem ser utilizados para tal? Várias respostas são, hoje, dadas a essas perguntas.

Podemos afirmar que a ação correta é aquela que:

A) Considera a felicidade dos grupos prevalecentes, como as elites.

B) É praticada por um agente inerentemente bom e sem influência social

C) Está de acordo com regras próprias de grupos minoritários com interesses duvidosos.

D) É considerada a melhor ação pela subjetividade do sujeito em suas reflexões.

E) É aquela que está adequada às leis, regras e normas legais do Estado.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Pilares centrais: dimensionamento e detalhes construtivos

Um pilar no centro de prédio recebe o nome de pilar central e tem algumas particularidades. Em relação a isso, assinale a alternativa correta:

A) Ele não tem nenhum momento fletor fazendo esforços.

B) Ele não apresenta efeitos de segunda ordem.

C) A comparação entre as esbeltezes e a esbeltezes limites deve sempre ser feita.

D) Quando ocorrem esforços de segunda ordem, não necessita-se calcular o momento mínimo.

E) O esforço normal desta viga é constante e igual a 59,7 kN.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Sistema domiciliar de abastecimento de água

O mau uso do material empregado na construção civil é um dos maiores causadores de patologias nas obras correntes. Um engenheiro, ao projetar uma edificação, especificou que algumas tubulações de água destinadas ao combate ao incêncio deveriam ficar expostas na área da garagem do empreendimento.

Visando aos critérios técnico-econômicos, qual é o material indicado para essas tubulações?

A) PVC soldável.

B) PVC rosqueável.

C) Cobre.

D) Ferro fundido.

E) Aço galvanizado.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

soma = 0
for i in range(0, 10):
  if i == 4 or i == 6:
    continue
  soma = soma + 3
  
print("A soma é: {0}".format(soma))

A) A soma é: 24

B) A soma é: 15

C) A soma é: 28

D) A soma é: 23

E) A soma é: 20
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Água Fria: Reservatórios

Um reservatório é dimensionado com diversos componentes que auxiliam na manutenção e limpeza do mesmo. Sobre os componentes acessórios de um reservatório é correto afirmar:

A) A tubulação extravasora deve ter o mesmo diâmetro da tubulação de alimentação do reservatório.

B) A tubulação de limpeza deve estar posicionada acima da saída da distribuição predial.

C) Em pequenas edificações, com reservatórios de 500 litros, não é necessária a instalação de tubulação de limpeza.

D) A tubulação extravasora deve jogar a água em local visível para alertar sobre o extravasamento do reservatório.

E) É obrigatória a instalação de registro na saída da tubulação extravasora.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Ruby

Veja mais Dicas e truques de Ruby

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 22 usuários muito felizes estudando em nosso site.