Get Started. It's Free
or sign up with your email address
Rocket clouds
Aula 8 by Mind Map: Aula 8

1. Slides

1.1. Capa - Curso de Ruby

1.2. Capa - Episódio 8

1.2.1. Ruby Avançado

1.2.1.1. Blocks

1.2.1.2. Lambda

1.2.1.3. Modules

1.2.1.3.1. namespace

1.2.1.3.2. Mixins

1.3. Blocks

1.3.1. Um bloco pode ser entendido como uma função anônima, ou seja, uma função sem nome. É definido entre do..end ou colchetes e da mesma forma que os métodos que você viu até agora, pode receber parâmetros para sua execução.

1.4. Lambda

1.4.1. Lambdas são similares aos blocks, mas podem ser salvas em variáveis para serem reutilizadas

1.5. Modules

1.5.1. Os modules possem 2 funções:

1.5.1.1. 1 - Namespace

1.5.1.1.1. Serve como um container para agrupar objetos relacionados (classes, constantes, métodos ou outros modules).

1.5.1.2. 2 - Mixins

1.5.1.2.1. Serve para incluir funcionalidades extras as classes

1.6. Missões especiais

1.6.1. Missão 1

1.6.1.1. O ruby oferece um método chamado capitalize para tornar a primeira letra de uma string maiúscula.

1.6.1.2. Sabendo disso crie uma lambda que recebe um nome como parâmetro e o imprime com a primeira letra maiúscula. Esta lambda deverá ser salva dentro de uma variável que será passada como argumento de um método chamado capitalize_name.

1.6.1.3. Dentro deste método você chamará a lambda duas vezes, passando como parâmetro em cada uma delas um nome diferente.

1.6.2. Missão 2

1.6.2.1. Crie um módulo chamado Person com as classes Juridic e Physical. Ao executar a instrução

1.6.2.2. Person::Juridic.new('M. C. Investimentos', '4241.123/0001').add

1.6.2.3. Seu código deverá retornar

1.6.2.4. [img missão 1]

1.6.2.5. E com a instrução Person::Physical.new('José Almeida', '425.123.123-123').add

1.6.2.6. Seu código deverá retornar

1.6.2.7. [img missão 2]

1.6.3. Missão 3

1.6.3.1. Pesquisar o que é o Proc em Ruby e descobrir as diferenças entre ele e o Lambda

1.7. Missões anteriores

1.7.1. Para exercitar o conhecimento adquirido nesta aula, crie um projeto chamado Compras com a seguinte estrutura:

1.7.2. [img1]

1.7.3. Neste projeto você simulará o ato de escolher e comprar um produto em um mercado.

1.7.4. Instruções do projeto:

1.7.5. 1- No arquivo produto.rb, crie uma classe chamada Produto com os atributos: nome e preço.

1.7.6. 2- No arquivo mercado.rb crie uma classe chamada Mercado que ao ser inicializada recebe como valores padrão product e preco. Dentro da classe, crie um método chamado comprar que imprime a seguinte frase "Você comprou o produto #{@produto} no valor de #{@preco}"

1.7.7. 3- No arquivo app.rb crie uma instância da classe Produto e adicione valores aos atributos nome e preco. Depois, inicie uma instância da classe Mercado com os valores dos atributos de Produto e para finalizar execute o método comprar.

1.8. Próximo Aula

1.8.1. Ruby Avançado 2

1.8.1.1. Regex

1.8.1.2. Math and Time

1.8.1.3. Method Missing

1.9. Capa - encerramento

1.9.1. [colocar as redes sociais do OneBitCode]