O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Ruby_Aula 4 .>Enter

Iniciado por Enter, 31/12/2014 às 03:20

31/12/2014 às 03:20 Última edição: 03/01/2015 às 22:48 por Enter
   שלום, מה שלומך? שלום, טוב, תודה

Se for repassar o guia, dê os devidos créditos ao criador: Enter
Dou inicio a esse espaço para uma aula de linguagem Ruby.
Requerimentos:
Ter lido algum livro ou artigos que ensinem a lógica geral de linguagens de programação;
Ter instalado Ruby no seu computador.
Material referência usado para essa aula: Beginning Ruby - Peter Cooper
Mensagem do dia: Para sermos melhores o nosso comparativo deve ser nós mesmos.
[box2 class=titlebg title=Lição 4: Kernel, métodos e parâmetros]
Aula 3 .>Enter
Aula 4 .>Enter (Você está nela! :clap:)

Em Ruby... Tudo é objeto. Por exemplo, o comando:

puts 1 + 99

O número 1 é um objeto assim como o número 99 - são objetos da classe Fixnum, e essa classe possue métodos já construídos que ditam o comportamento das operações como adição por exemplo.
No Ruby você pode saber se algo é objeto perguntando qual classe aquilo é pertence. E para fazer isso basta usar o método .class
Por exemplo, supondo que esparta é
esparta = Cachorro.new
e dando o comando:
puts esparta.class
você terá como retorno a classe da qual ele pertence. Esse método cujo código é ".class" é um método padrão contido em todos os objetos da linguagem Ruby. Portanto, esparta é um objeto da classe Cachorro.

Tente também:
puts 2.class e observe o resultado.

Você descobre que o número 2 pertence a classe Fixnum.

MÓDULO KERNEL(=Núcleo/centro/miolo):
Métodos Kernel (Kernel Methods).

É um módulo do qual os métodos são disponibilizados em cada classe do Ruby.
Até agora, por exemplo, você tem usado um método chave (key method) fornecido pelo kernel: O método puts.

Quando você usa, por exemplo:
puts "Oi, como vai?"

Perceba que nesse tipo de método não tem necessidade que você digite o nome da classe da qual ele pertence para executá-lo.E isso é porque ele é um método fornecido pelo módulo Kernel (que é um tipo especial de classe, funciona como um pacote cheio de método default(padrão, utilizados com frequência para solucionar problemas) para os programadores utilizarem).

Com isso entende-se que dá para utilizar:
Kernel.puts "Oi, como vai?"
Que dará o mesmo resultado quando se usa: puts "Oi, como vai?".

O que eu preciso saber até agora?
-Você pode descobrir a classe de um objeto digitando:
puts NomeDaInstanciaDoObjeto.class
- Kernel, no Ruby, é um módulo do qual contém métodos default(padrão), como mostrado no exemplo acima - o método puts.
Nota: Abordaremos o assunto sobre módulos em lições futuras.

Agora... Vamos falar sobre... Parâmetros!

Parâmetros, também chamados de Argumentos são dados que são passados para os métodos dos quais os valores das variáveis que servem como parâmetros são especificados de forma externa/fora desses métodos.

Um exemplo de argumento/parâmetro é o:
puts "Oi, como vai?"

O parâmetro nesse caso, é o trecho "Oi, como vai?". Ele é o parâmetro do método puts.

A estrutura do método puts foi escrita para aceitar e tratar o parâmetro que receber.

Normalmente, você pode ver os parâmetros sendo passados dentro de parênteses.
puts("Oi, como vai?") ou Kernel.puts("Oi, como vai?") que é a  mesma coisa.

Vamos implementar para entender. Abra o seu irb e acompanhe a implementação.
"Um programador quer criar um cachorro dentro do seu universo virtual. E esse cachorro tem a capacidade de somar números que sejam passados a ele via parâmetros"

1º passo: Identifique as classes, atributos (caso seja relevante) e métodos e implemente:

class Cachorro
def somar(numero1,numero2)
puts numero1+numero2
end
end

Note que após o nome do método é aberto um parênteses e especificado os parâmetros que nada mais são que variáveis em aberto(sem valor alocado, ainda) que estão disponíveis a receber dados. A sintaxe para criar um método com parâmetros: def NomeDoMetodo(NomeDoParametro, NomedoParametro2, NomeDoParametroN, ...)

2º passo: Agora vamos utilizar o método dessa classe, para isso além de chamar a classe e o nome do método será também necessário passar valores para os parâmetros:

Vamos, instanciar o objeto

esparta = Cachorro.new

Agora vamos utilizar o método

esparta.somar(10,7)

Ok, o resultado deverá ser 17, pois dentro do método:
- O numero1 recebeu o valor 10
- O numero2 recebeu o valor 7
- numero1+numero2 = 17
- imprime o resultado na tela (puts numero1+numero2)

Observação: É importante que você pratique até dominar a sintaxe explicada até agora.

Parabéns por ter chego até aqui! A próxima lição será um divisor de águas! See you later!



[/box2]
Task:

Task:

Teste os seguintes comandos e veja os diferentes resultados:
puts("Oi".capitalize)
puts("Oi".downcase)
puts("Oi".reverse)
puts("Oi"+"Oi")
puts("Oi".upcase.reverse.next)
puts("Oi".chop)
puts("Oi".next)

Se você não por parênteses vai dar no mesmo.