Apresentação de ruby com blocos de programação, módulos e outros exemplos
-
Upload
wende-mendes -
Category
Technology
-
view
2.151 -
download
1
description
Transcript of Apresentação de ruby com blocos de programação, módulos e outros exemplos
![Page 2: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/2.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/3.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/4.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/5.jpg)
RubyRuby
![Page 6: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/6.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/7.jpg)
RubyRuby
![Page 8: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/8.jpg)
RubyRuby
Resolveria meu problemaResolveria meu problema
![Page 9: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/9.jpg)
RubyRuby
![Page 10: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/10.jpg)
RubyRuby
![Page 11: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/11.jpg)
RubyRuby
Resolveria meu problemaResolveria meu problema
![Page 12: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/12.jpg)
RubyRuby
![Page 13: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/13.jpg)
RubyRuby
![Page 14: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/14.jpg)
RubyRuby
![Page 15: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/15.jpg)
RubyRuby
![Page 16: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/16.jpg)
RubyRuby
![Page 17: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/17.jpg)
RubyRuby
![Page 18: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/18.jpg)
RubyRuby
![Page 19: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/19.jpg)
RubyRuby
![Page 20: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/20.jpg)
RubyRuby
* Manipulando exceptions* Manipulando exceptions
![Page 21: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/21.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/22.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/23.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/24.jpg)
RubyRuby
![Page 25: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/25.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/26.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/27.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/28.jpg)
RubyRuby
![Page 29: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/29.jpg)
RubyRuby
![Page 30: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/30.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/31.jpg)
RubyRuby
![Page 32: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/32.jpg)
RubyRuby
![Page 33: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/33.jpg)
RubyRuby
![Page 34: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/34.jpg)
RubyRuby
Tratando vários errosTratando vários erros..
![Page 35: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/35.jpg)
RubyRuby
![Page 36: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/36.jpg)
RubyRuby
![Page 37: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/37.jpg)
RubyRuby
![Page 38: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/38.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/39.jpg)
RubyRuby
![Page 40: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/40.jpg)
RubyRuby
![Page 41: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/41.jpg)
RubyRuby
![Page 42: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/42.jpg)
RubyRuby
![Page 43: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/43.jpg)
RubyRuby
![Page 44: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/44.jpg)
RubyRuby
criando namespacescriando namespaces
![Page 45: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/45.jpg)
RubyRuby
![Page 46: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/46.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/47.jpg)
RubyRuby
![Page 48: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/48.jpg)
RubyRuby
![Page 49: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/49.jpg)
RubyRuby
* Throw e catch* Throw e catch
![Page 50: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/50.jpg)
RubyRuby
![Page 51: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/51.jpg)
RubyRuby
![Page 52: Apresentação de ruby com blocos de programação, módulos e outros exemplos](https://reader031.fdocument.pub/reader031/viewer/2022020207/55666912d8b42a3d3f8b4dbc/html5/thumbnails/52.jpg)