Ruby for all - II

Iniciado por f0nt_Drk, 11 de Novembro , 2010, 02:28:18 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

f0nt_Drk

|--------------------------------|
|Campanha RUBY FOR ALL|
|--------------------------------|





Vamos começar :

Classes

Nas Classes nós podemos juntar novos metódos, modelos e o que a imaginação deixar, podemos também escrever as classes de any maneiras e enfim, vamos a um code que depois eu irei explicar :


class Jogador
   def initialize(nome,idade,pontos)
    @nome = nome
    @idade = idade
    @pontos = pontos
   end
   def to_s
    "nome:"+@nome+" idade:"+@idade.to_s+" pontos:"+@pontos.to_s
   end
end

nba = Jogador::new("Lebron","28","720")
puts nba


Bom, vocês devem ter percebido que os 'codes' agora estao diferentes, não vou usar mais os codes no interpretador e sim no 'SciTE' é o editor de texto que vem com o ruby e se tu tiver usando linux é só escrever o code e depois rodar com o comando do ruby.
Deixa eu explicar agora isto aí que você viu :
'class' é o modo em que sempre vamos começar uma 'classe' , depois eu chamei ela de 'Jogador' . 'def' que vocês já viram é usado em conjunto com 'initialize' que é outro parametro 'fixo' para se iniciar uma classe, logo depois entre parentese coloco o nome , idade e pontos que seram os componentes da classe . Bom, como eu citei no texto passado existem varios
depois atribuimos as variaveis de instancia seus respectivos 'nomes'
depois usamos o to_s para transformar objetos em strings depois colocamos que o nome é igual a "+@nome+" e assim vai, não entedeu, espera, vai entender agora : embaixo eu chamo tudo isso de 'nba' para depois atribuir os valores reais de cada um, manjou ? é simples .


PLUS , então vamos a nossa SubCategora :

Variaveis de Instância

Essas variaveis são como variaveis especificas que no caso são atribuidas ao componentes .

" @nome = nome "
E para atribuirmos essas variaveis é só usar o '@' antes da variavel manjaram ?

e bom, já que eu estou falando sobre Variaveis vamos aprofundar um pouco mais :
As variaveis no Ruby são 'diferenciadas' pelas suas diferentes formas oficiais de serem nomeadas , como o '@' antes da variavel ou o '$' e assim vai ..

Variaveis Globais (ou Publicas)


irb(main):001:0> $var_gen = "abc"
=> "abc"

Essa como vocês veem é iniciada pelo '$' e o nome já diz tudo né .

A outra é variavel local que é simples não se usa nenhuma nomenclatura especial, essas vocês já viram né ?! (:



PLUS ||

Vamos ver algumas coisas a mais agora, hehe .


Ranges

Isto é bem simples moçada, por isso nao vai ocupar muito a cabeça de vocês :


irb(main):001:0> r = 0..100
=> 0..100
irb(main):002:0> r2 = 0...100
=> 0...100
irb(main):003:0>

é o seguinte, no primeiro caso (r) o meu intervalo vai de 0 até 100 já no segundo intervalo(r2) vai de 0 a 99 pois quanto menos pontinhos tiver, maior será o intervalo.

Arrays

Aposto que você já ouviu falar, não é mesmo ?

Aqui no Ruby é assim :


irb(main):003:0> a = ['Eu', 3, 'Ruby']
=> ["Eu", 3, "Ruby"]
irb(main):004:0>


Nesse caso eu 'misturei' agora vamos usar só Strings :


irb(main):003:0> b = %w(arroz, feijao, carne, miojo, frango)
=> ["arroz,", "feijao,", "carne,", "miojo,", "frango"]
irb(main):004:0>


Olha o exemplo da compra do mês aí em cima ^^ (:
e se quisermos escrever isso aí só que de forma 'separada' :


irb(main):001:0> a = []
=> []
irb(main):002:0> a.push "um"
=> ["um"]
irb(main):004:0> a.push "dois"
=> ["um", "dois"]
irb(main):005:0> a.push "tres"
=> ["um", "dois", "tres"]
irb(main):006:0>


entenderam ? é mole !
Remember, remember, the 5th of November
The gunpowder treason and plot;
I know of no reason why the gunpowder treason
Should ever be forgot.