Wende Mendes Higino

email: wende.mendes@bluesoft.com.br
Ruby
* Singleton class

* Metaprogramação

* Visibilidade de métodos

* Convenções

* Herança

* Múltiplos parâmetros

* Arrays
Ruby



* Singleton class

 - O código abaixo irá definir o método anda explicitamente na
singleton class.
Ruby
Ruby
Ruby
Ruby



* Metaprogramação

 - Por ser uma linguagem dinâmica, Ruby permite adicionar
outros métodos e operações aos objetos em tempo
de execução
Ruby
Ruby




* Metaprogramação

 - Levando o dinamismo de Ruby ao extremo, podemos criar
métodos que definem métodos em outros objetos.
Ruby
Ruby
Ruby
Ruby




* Visibilidade dos métodos

- Por padrão todos os métodos são publicos
Ruby
Ruby
Ruby
Ruby
* Convenções

    - Variáveis e métodos sempre minúsculos
separados por ' _ '
   - Variáveis com nomes maiúsculo ( constantes )
   - Classes ( DuplicataCobranca )
   - Na defnição de métodos procure sempre usar ()
   - Para a chamada não há convenção
   - Procure sempre o que é mais legível
   - Métodos que retornam booleanos costumam
     terminam com ?
Ruby



Herança com ruby
Ruby
Ruby
Ruby
Ruby
Ruby



    - Para o criador de cachorro não interessa qual
objeto será passado com paramêtro. Para ele basta
que o objeto tenha o método “late”
Ruby



   * Múltiplos parâmetros

- Em alguns instantes desejamos receber um número x
de parâmetros em um método.
Ruby

- Para recebermos um ou vários parâmetros usamos a
sintaxe *
Ruby



    - Mas nem sempre queremos usar array. Podemos
usar Hash.
- Por serem únicos e imutáveis, símbolos são ótimos
candidatos a serem chaves de Hash.
Ruby


 - Imagine que tenho uma conta bancária em minhas
mãos e desejo invocar o método de transferência, que
requer a conta destino, a data na qual o valor será
transferido.
Ruby
 - No momento de executar o método descobrimos que
a ordem dos parâmetros era incorreta, o valor deveria
vir antes da data, de acordo com a defnição do
método esta errado.
Ruby

- Movimento que se tornou comum com a popularização do
Rails 2, passando parâmetro através de hash:
Ruby
Ruby

- Variações nos símbolos permitem melhorar ainda
mais a ligibidade.
Ruby

* Arrays
Ruby
* Arrays

- Arrays podem conter vários tipos de objetos (ou não):
Ruby
- Inserindo elementos
Ruby
- Inserindo elementos
Ruby
- Criando array baseado em alguma condição
Ruby
- Ordenando um array
Ruby
- Ordenando um array
Ruby
- Ordenando um array
Ruby
- Método any?
Ruby
- Método all?
Ruby
Ruby com Singleton class, Metaprogramação e muito mais

Ruby com Singleton class, Metaprogramação e muito mais