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

Ruby/RGSS3 Por Mepps | Aula 2 - Variaveis e Constantes Parte I

Iniciado por Mepps, 26/07/2013 às 17:59

Olá Pessoal Bem vindo a Mais uma Aula de ruby, que terá em seu conteúdo Variáveis e Constantes
Primeiramente queria pedir Desculpas pela Demora em postar as Aulas a quem esta acompanhando


Variaveis & Constantes

1.1 Variaveis
1.2 Object (Objetos)
1.3 Tipos Variaveis ( Proxima Aula, Variaveis de Classe e Global)
2. Constantes  (proxima Aula)


Bom pessoal  hoje iremos tratar de variaveis e constantes, apos ter
instalado o Ruby , abra seu MS-DOS ou prompt de comando e digite

irb


Certo Mepps, mais oque significa irb?

pois bem eu explico a vocês irb significa Interact Ruby, ou seja
ruby interativo,  a principio ele foi criado para criação e execução
de programas pequenos no ruby , e mais usado para testes.




Seu prompt deve estar assim, pronto iniciamos o irb para ser usado!
a principio temos informações de que linha estamos digitando e a profundidade


            Linha / Profundidade
irb(main):001: 0


o irb tambem servira de alerta como  por exemplo:
eu vou abrir uma string com o nome  Mepps



e ao pressionar o  enter o irb  mostra que nos devemos fechar a String
retornando para nos Aspas Duplas "




1. Variaveis

Bom oque eu tenho a Declarar em Relação a Variaveis
Variaveis são Referencia a Objetos,   ou seja vou dar Aqui um exemplo


a = 1


a variavel  (a) esta dando referencia ao Objeto 1 ,(instancia da classe Fixnum)
pois em ruby tudo e objeto bom vamos colocar de um jeito mais facil pra vocês
entenderem

Vamos pensar na variável como uma xicara, que Referenciara seu conteudo 
ou seja vou dar outro exemplo aqui em baixo para vocês memorizarem, bem


xicara = "Cafe"


então ou seja a nossa Variavel (xicara) esta  Referenciando o nosso objeto("cafe")

Instancia da Classe Fixnum?? Como assim??
citado mais acima


Bom oque eu tenho a declarar e que todo objeto  herda o metodo .class  da classe(Object)
por ser um objeto, ou seja esse metodo vai checar o nosso objeto e vai retornar
a qual  classe ele pertence

Faça o teste em seu irb. e digite :[/font]

a = 5.0.class
b = "Paulo".class
c = {}.class

ruby deve te retornar isso

a > Float
b > String
c > Hash


ou seja o ruby vai ler o objeto
e nos retornar a sua classe, ai e que entra o conceito que estudamos aula passada
se for float vai ser float, se for uma string sera string e assim por diante(Duck Typing)

1.2 Object (Objetos)

Bom sobre objetos eu tenho algo a mostrar para vocês
preparei um diagrama para essa aula..





Apencide Rapido
Kernel = Nucleo da Linguagem de Programação, onde estão contidos todos seus dados e objetos e etc..
Subclass = são classes segundarias geradas a partir da classe Principal assim herdando sua herança


esse diagrama não cobre todos os objetos e nem todas as classe mais vai ajudar bastante
na compreensão. , o principal objeto e o Object , ele pertence ao Kernel da Linguagem.
Ele gera subclasses apartir de sua classe sendo elas


Nilclass
TrueClass
FalseClass

Todas Essas acimas sao do tipo Boleano

Numeric
time
Date.
entre outras...


Ou seja o Ruby tem uma gama enorme de Classes e Subclasses dentro do Seu Kernel

1.3 Tipos de Variaveis ( Variavel Local )

uma variavel local e simplesmente uma variavel qualquer que você coloque no programa
de escopo simples e concerteza de mais rapido acesso.

Exemplos de Variavel Local

v = 1 
>Fixnum

e tambem podemos checar o seu id , como e um objeto ele possui um id
v.object_id

# importante

Sempre que você modificar o valor de uma variavel o
o seu id sera modificado tambem, contendo informações do novo
objeto ao qual ela foi atribuida ,exemplo

v = 1
v.object_id
=> 3

v = 5.8
v.object_id
=>606010868

viram, eu modifiquei o objeto da variavel v para float (5.8)
e meu object_id tambem foi modificado

>3


Vamos Brincar??

Criem alguns Objetos no Irb, Brinque um pouco, crie objetos
e verifique seu ID com o methodo object._id

Sobre variaveis Locais a umas coisinhas que eu posso Falar Tambem
embora ruby tenha duck typin , ela e fortemente tipada tem coisas que
não tem codições mesmo de se fazer. um exemplo abaixo

vou passar aqui o valor pra  v para 1
e criar uma string com nome de gabriel

v = 1
string = "Gabriel"


agora vou escrever o valor das variaveis
puts = string + v


ele me gerou o Seguinte erro ,
TypeError: can't convert fixnum into string


ou seja eu não posso
converter um fixnum em uma string

mais por curiosidade eu posso fazer isso aqui
digamos que eu queira escrever Gabriel 3 Vezes

v = 3
puts string * v


ele me retornou
GabrielGabrielGabriel


Alguns Conversores

Olhamos no exemplo acima que
um fixnum não pode ser convertido em uma string
mais por curiosidade eu posso fazer ele ser adicionado a
string usando Conversores , aqui abaixo alguns tipos de conversores


.to_f => converte em um ponto flutuante(Float)
.to_i => converte em um numero inteiro(interger)
.to_a => converte em uma array
.to_s => converte em um texto


Otimo agora vamos Ver como isso e possivel
pois quando tentamos ele nos retornou um erro


string = "Thiego"
numero = 1

puts string + numero.to_s
=>"Thiego1"


Wow Conseguimos , mais porque agora foi?
agora deu certo porque usamos um conversor, e para isso que eles
servem. viu que conseguimos concatenar "Thiego" com 1 e ruby nos
retornou "Thiego1"


outros exemplos
puts string + numero.to_f.to_s
>"Thiego1.0"


Oque houve aqui?
simples eu concatenei thiego com o numero , mais so que o converti o numero
pra Float voltando 1.0 , sempre que ouver concatenação  de uma string + numero
o .to_s sempre terá que estar no final  e um erro de sintaxe escrevelo Assim


puts string + numero.to_s.to_f


pois ele convertera o numero para string e depois para float
isso ira gerar o mesmo erro de antes.


typeError : Cant convert string in a Float


Forma de  Escrever Valores de uma Variavel ,  E Diferença entre puts e print

puts ( o puts ja vem com a quebra de linha )
print ( o print vai escrever tudo na mesma linha forçando você a usar o \n para criar uma nova linha)


Comentarios

Comentarios  são linhas de Textos ignoradas pelo ruby
servem para escrever Informações de seu script
sempre iniciadas com o sharp => #


exemplo:
# Nossa Ultimamente anda muito frio

Mais mepps e se eu quiser escrever um comentario grande
Terei que colocar o Sharp em todas as linhas dele?

Boa Pergunta Amigo , Mais não
em caso de comentarios grandes usamos o =begin e o =end
onde o =begin delimita o inicio do seu comentario e o =end o seu final

exemplo :


=begin
Break benjamin e uma banda boa
Nossa esta tao frio que eu acho que estou na russia
Amanha tem prova
.
.
.
.
.
Estou louco pra jogar FFXIV
=end


Bom pessoal por hoje e só
Proxima aulas Falaremos de


Variavel de Classe
Variavel Global
Constante

  Muito boa aula,agora já posso usar o "irb" como calculadora disfarçada quando tiver provas  :malvado: .Muito legal cara,obrigado por mais esse tutorial,de todos os que eu segui,acho que com o seu vou conseguir aprender mais. Eu não conhecia nenhum programa que mostra o erro nos códigos então isso vai ajudar muito quando eu for 'escrever' meu primeiro script. Muito obrigado,espero pela próxima  :wow:
Uma visita ao Museu não é interessante quando você faz parte da exposição.

Citação de: faherya online 26/07/2013 às 18:34
  Muito boa aula,agora já posso usar o "irb" como calculadora disfarçada quando tiver provas  :malvado: .Muito legal cara,obrigado por mais esse tutorial,de todos os que eu segui,acho que com o seu vou conseguir aprender mais. Eu não conhecia nenhum programa que mostra o erro nos códigos então isso vai ajudar muito quando eu for 'escrever' meu primeiro script. Muito obrigado,espero pela próxima  :wow:

Hahaha usar o Irb em provas ... Espertinho hein a Versão 2.o dele roda ate em android
facilita muito a Vida kkkk, ainda e so o começo . você vai começar a se asustar quando chegarmos
em matrizes matematicas e numero neperiano. x] mais obrigado por acompanhar, se tiver qualquer tipo
de duvida e so perguntar.

Ótima aula, está muito bem explicado  :wow:. Instalei o irb aqui no windows, ontem não havia conseguido, estarei esperando pela próxima aula. :clap:

Citação de: L0ck1 online 27/07/2013 às 15:06
Ótima aula, está muito bem explicado  :wow:. Instalei o irb aqui no windows, ontem não havia conseguido, estarei esperando pela próxima aula. :clap:


Obrigado Daqui pra frente ficará mais legal