Você está aqui: Ruby ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Usando a estrutura condicional if em RubyQuantidade 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 |
![]() |
Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em Ruby: Classes, objetos, métodos e variáveis de instânciaQuantidade 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 sizeQuantidade 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_readerQuantidade 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 RubyQuantidade 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_iQuantidade 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 RubyQuantidade 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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |