SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Wende Mendes Higino

email: wende.mendes@bluesoft.com.br
Ruby


* Bloco de programação

* Manipulando exceptions

* Módulos

* Throw e catch
Ruby




* Bloco de programação
Ruby




* Imagine o exemplo a seguir que soma o
saldo das contas de um banco:
Ruby
Ruby


 Esse processo é executado em diversos
pontos da nossa aplicação e todos eles
precisam exatamente desse
comportamento.

 Em um dia ensolarado, um ponto de nossa
aplicação passa a necessitar da impressão
dos saldos parciais,
Ruby
Ruby

Resolveria meu problema
Ruby
Ruby
Ruby

Resolveria meu problema
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby




* Manipulando exceptions
Ruby

 A lista abaixo mostra as exceptions mais
comuns em ruby e quando são lançadas,
todas são filhas de
Exception

* RuntimeError : É a exception padrão
lançada pelo método raise.

* NoMethodError : Quando um objeto recebe
como paramêtro de uma mensagem um
nome de método que não pode ser
encontrado.

* NameError : O interpretador não
encontra uma variável ou método com o
nome passado.
Ruby



* IOError : Causada ao ler um stream que foi
fechado, tentar escrever em algo read-
only e situações similares.


* TypeError : Um método recebe como
argumento algo que não pode tratar.

* ArgumentError : Causada por número
incorreto de argumentos.
Ruby




o bloco begin...end é combinado com rescue,
que será invocado caso alguma coisa de
errado aconteça.
Ruby
Ruby


* Digitando um valor correto
Ruby


* Digitando um valor incorreto
Ruby




Exceptions podem ser lançadas com o
comando raise.
Ruby
Ruby
Ruby



É possível utilizar sua própria exception
criando uma classe e extendendo de
Exception.
Ruby
Ruby
Ruby
Ruby




Tratando vários erros.
Ruby
Ruby
Ruby
Ruby


* Módulos.

- Módulos são maneiras de “grudar” vários
 métodos no caso de não querer definir uma
classe.

- pode usar para criar namespaces
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby




criando namespaces
Ruby
Ruby



 Módulos diferem de classes por que são
coleções de métodos e constantes, não
podendo criar instâncias, e podem ser
“mixados” em classes e outros
módulos.
Ruby
Ruby
Ruby




* Throw e catch
Ruby
Ruby
Apresentação de ruby com blocos de programação, módulos e outros exemplos

Weitere ähnliche Inhalte

Was ist angesagt?

Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoEder Samaniego
 
Algoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla EscolhaAlgoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla EscolhaEder Samaniego
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasHélio Martins
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoRegis Magalhães
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha casoEder Samaniego
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisJorge Ávila Miranda
 
LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06Carlos Santos
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em JavaWilson Júnior
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Eder Samaniego
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções javaAntonio Oliveira
 
Logica programar
Logica programarLogica programar
Logica programarManawydan
 
Iniciando com javaScript 2017
Iniciando com javaScript 2017Iniciando com javaScript 2017
Iniciando com javaScript 2017Romualdo Andre
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3guestd6da1cd
 
Aprendendo C# do zero
Aprendendo C# do zeroAprendendo C# do zero
Aprendendo C# do zeroManawydan
 
Action script1 apresentação2
Action script1 apresentação2Action script1 apresentação2
Action script1 apresentação2Jorge Louro
 

Was ist angesagt? (20)

Aula02 - Lógica de Programação
Aula02 - Lógica de ProgramaçãoAula02 - Lógica de Programação
Aula02 - Lógica de Programação
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Algoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla EscolhaAlgoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla Escolha
 
Aula python
Aula pythonAula python
Aula python
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacas
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Excecoes em Java
Excecoes em JavaExcecoes em Java
Excecoes em Java
 
Logica Algoritmo 04 Decisao
Logica Algoritmo 04 DecisaoLogica Algoritmo 04 Decisao
Logica Algoritmo 04 Decisao
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Algoritmos Aula 07
Algoritmos Aula 07Algoritmos Aula 07
Algoritmos Aula 07
 
Aula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionaisAula02 - Sistemas Numéricos computacionais
Aula02 - Sistemas Numéricos computacionais
 
LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06LabMM3 - Aula teórica 06
LabMM3 - Aula teórica 06
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em Java
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Logica programar
Logica programarLogica programar
Logica programar
 
Iniciando com javaScript 2017
Iniciando com javaScript 2017Iniciando com javaScript 2017
Iniciando com javaScript 2017
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Aprendendo C# do zero
Aprendendo C# do zeroAprendendo C# do zero
Aprendendo C# do zero
 
Action script1 apresentação2
Action script1 apresentação2Action script1 apresentação2
Action script1 apresentação2
 

Ähnlich wie Apresentação de ruby com blocos de programação, módulos e outros exemplos

Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisWende Mendes
 
Conhecendo Ruby on Rails
Conhecendo Ruby on RailsConhecendo Ruby on Rails
Conhecendo Ruby on RailsSergio Henrique
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsThiago Cifani
 

Ähnlich wie Apresentação de ruby com blocos de programação, módulos e outros exemplos (8)

Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito mais
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Conhecendo Ruby on Rails
Conhecendo Ruby on RailsConhecendo Ruby on Rails
Conhecendo Ruby on Rails
 
Aula Tratamento de Exceções
Aula Tratamento de ExceçõesAula Tratamento de Exceções
Aula Tratamento de Exceções
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on Rails
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 

Mehr von Wende Mendes

Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolabWende Mendes
 
Dicas para pescar tucunare
Dicas para pescar tucunareDicas para pescar tucunare
Dicas para pescar tucunareWende Mendes
 
Produtividade com teste de integracao
Produtividade com teste de integracaoProdutividade com teste de integracao
Produtividade com teste de integracaoWende Mendes
 
Táticas para motivar a sus equipe
Táticas para motivar a sus equipeTáticas para motivar a sus equipe
Táticas para motivar a sus equipeWende Mendes
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipeWende Mendes
 
Pare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaPare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaWende Mendes
 
Aprenda com o simples
Aprenda com o simples Aprenda com o simples
Aprenda com o simples Wende Mendes
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para EquipeWende Mendes
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play frameworkWende Mendes
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e DependênciasWende Mendes
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1Wende Mendes
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeWende Mendes
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosWende Mendes
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5Wende Mendes
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classesWende Mendes
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a rubyWende Mendes
 
Palestra collection google
Palestra collection googlePalestra collection google
Palestra collection googleWende Mendes
 

Mehr von Wende Mendes (20)

Rotas com angular
Rotas com angularRotas com angular
Rotas com angular
 
Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolab
 
Dicas para pescar tucunare
Dicas para pescar tucunareDicas para pescar tucunare
Dicas para pescar tucunare
 
Produtividade com teste de integracao
Produtividade com teste de integracaoProdutividade com teste de integracao
Produtividade com teste de integracao
 
Táticas para motivar a sus equipe
Táticas para motivar a sus equipeTáticas para motivar a sus equipe
Táticas para motivar a sus equipe
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipe
 
Pare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaPare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vida
 
Aprenda com o simples
Aprenda com o simples Aprenda com o simples
Aprenda com o simples
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para Equipe
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classes
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 
Javaone2010
Javaone2010Javaone2010
Javaone2010
 
Palestra collection google
Palestra collection googlePalestra collection google
Palestra collection google
 

Apresentação de ruby com blocos de programação, módulos e outros exemplos