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

52
Wende Mendes Higino Wende Mendes Higino email: [email protected] email: [email protected]

Upload: wende-mendes

Post on 28-May-2015

2.151 views

Category:

Technology


1 download

DESCRIPTION

Uma apresentação de ruby mostrando um pouco de bloco de programação, manipulação de exceptions, modulos e outros.

TRANSCRIPT

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

Wende Mendes HiginoWende Mendes Higino

email: [email protected]: [email protected]

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

RubyRuby

* Bloco de programação* Bloco de programação

* Manipulando exceptions* Manipulando exceptions

* Módulos* Módulos

* Throw e catch* Throw e catch

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

RubyRuby

* Bloco de programação* Bloco de programação

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

RubyRuby

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

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

RubyRuby

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

RubyRuby

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

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

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

RubyRuby

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

RubyRuby

Resolveria meu problemaResolveria meu problema

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

RubyRuby

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

RubyRuby

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

RubyRuby

Resolveria meu problemaResolveria meu problema

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

* Manipulando exceptions* Manipulando exceptions

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

RubyRuby

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

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

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

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

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

RubyRuby

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

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

* * ArgumentErrorArgumentError : Causada por número : Causada por número incorreto de argumentos.incorreto de argumentos.

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

RubyRuby

o bloco o bloco begin...endbegin...end é é combinado com combinado com rescuerescue, , que será invocado caso alguma coisa deque será invocado caso alguma coisa deerrado aconteça.errado aconteça.

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

RubyRuby

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

RubyRuby

* Digitando um valor correto* Digitando um valor correto

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

RubyRuby

* Digitando um valor incorreto* Digitando um valor incorreto

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

RubyRuby

Exceptions podem ser lançadas com o Exceptions podem ser lançadas com o comando comando raiseraise..

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

Tratando vários errosTratando vários erros..

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

* Módulos* Módulos..

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

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

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

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

RubyRuby

criando namespacescriando namespaces

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

RubyRuby

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

RubyRuby

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

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

RubyRuby

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

RubyRuby

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

RubyRuby

* Throw e catch* Throw e catch

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

RubyRuby

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

RubyRuby

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