Aprenda Ruby – Parte II
Dando continuidade ao nosso papo, vou seguir a linha do primeiro post e falar mais sobre manipulação de variaveis.
Eu sei que não é um assunto muito empolgante, ou melhor não é muito "Ruby" (ou seja Dinamico, Agil, Divertido), mas para ter um bom entendimento temos que consolidar os fundamentos.
"Espero que o Luiz não leia isto rs.. "piada interna" hehe!"
Mas logo logo vamos entrar na parte legal, pense nessa fase como o primeiro periodo da faculdade, só que com mais serventia
Como falei anteriormente tudo em Ruby é objeto. Variaveis são apenas referencias para objetos e bla bla bla bla...
Vamos ver mais alguns exemplos:

Viu? o valor1 ficou com o mesmo valor2, isso por que as duas variáveis são referencias para o mesmo objeto.
Note que eu alterei a variável "Var2[5] = 2" ao invés de atribuir um outro valor para ela "var2 = valor2", nesse ultimo caso eu estaria atribuindo um novo objeto String para a variável var2.
Mas isso você já sabia né? hum... Você lembra de todo aquela papo de linguagem dinâmica e tipagem forte do primeiro post? Não? putz.. seu fanfarrão! da uma olhada lá novamente: post1
Existem métodos que nos ajudam a manipular variáveis, como o método freeze que congela a variável e não permite que ela seja alterada.
Outro método legal é o método dup:
1 2 | variavel1 = "Valor1" variavel2 = variavel1.dup |
Esse método deveria ser usado no exemplo anterior, para impedir que as duas variáveis ficassem com a mesma referencia.
Operadores
Grande parte dos operadores são métodos e podem ser alterados.
| +,-,* | adição,subtração,multiplicação |
| /,% | divisão,resto |
| ** | Expoente |
| & | AND binario |
| ^ ou | | OR binario |
| >,>=,<,<= | maior, maior ou igual, menor, menor ou igual |
| <=>,==,===,!=, =~, !~ | Operadores de igualdade, você vai entender melhor nos próximos post`s |
| =, %=, -=, +=, /=,*=,**=, ||=, &&=, <<, | Atribuição |
| Lógicos | |
| && | AND |
| || | OR |
| .. e ... | Ranges |
| ? : | If Then else "Adoro esse |
| not | negação |
| or e and | composição |
Durante nosso aprendizado, vamos ter oportunidade de ver mais detalhes de alguns operadores.
Ai você vai começar a entender por quê programar em ruby é tão legal
Só para deixar esse post menos chato, vamos ver um exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #só quero atribuir um valor quando a variável for nil variavel = 1 => 1 variavel ||= 2 => 1 variavel = nil => nil variavel ||= 2 => 2 #agora o oposto variavel = 1 => 1 variavel &&= 2 => 2 variavel = nil => nil variavel &&= 1 => nil |
Por enquanto é só, tenho certeza que já no próximo post, as coisas vão ficar mais empolgantes, ainda essa semana vou publicar a terceira parte aonde vamos ver alguns detalhes da classe String.
Não deixe de continuar acompanhando, agora já passamos pela pior parte, o que vem pela frente é só diversão
tenho certeza que do decorrer dos exemplos que estão por vir você vai dizer algumas vezes "Caramba! que f0d@!!" :p
Fica aqui uma charada para o próximo post:
Tenho uma String com seguinte valor "um dois tres quatro cinco", como você faria em uma linguagem chata para transformar essa String em um array contendo cinco itens?
Abraço!
Iuri Menescal
Diga não as drogas, não use IE!
Aprenda Rails. Estude Ruby!
Desde que fui apresentado ao Rails virei um entusiasta desse framework, e em pouco tempo virei um evangelizador do Rails, não como o Carlos Brando ou o Akita que disseminam essa tecnologia pelo Brasil a fora, mas entre o grupo que conheço, programadores Delphi, Java, .Net e até PHP.
Muitos se animaram e assim como eu estão estudando esse framework, mas uma coisa que venho notando é que as pessoas que querem aprender Rails, começam a estudar Rails sem nunca ter visto Ruby.
Isso é um erro comum e que demora para ser percebido, por conta da facilidade e da agilidade do Rails em gerar resultados logo no primeiro dia de estudos, o que acaba causando uma falsa impressão de evolução e te transformando em um "Code monkey".
Acabamos escrevendo código sem saber o significado, e convenhamos para que vem de linguagens como (Delphi, C#, etc..) é um mundo completamente diferente.
(No decorrer dessa sequencia de post`s vou ser obrigado a citar novamente esse exemplo, por isso vamos utilizar o termo "Linguagens chatas"
)
Pode parecer meio radical, mas antes do fim dessa série você vai notar, que alem de tudo Ruby é divertido!
É muito normal uma pessoa que só desenvolve em Linguagens chatas ter dificuldade para entender o código abaixo:
1 2 3 | sexo = "M" nome = "Iuri" puts "Ola " << "sr#S#".gsub(/#S#/,sexo == "F"?"a.":".") << nome |
Pode apostar, o resultado desse códito seria: "Ola sr. Iuri"
Por isso resolvi publicar uma serie de artigos falando mais sobre Ruby.
Então já para dar inicio, vou terminar esse post com uma breve explicação.
O que é Ruby?
Ruby é uma linguagem dinâmica e de tipagem forte para programação OO.
Na verdade Ruby é muito mais do que isso, mas isso você vai descobrir no decorrer dos nossos estudos.
O Ruby foi inventado por Yukihiro Matsumoto.
É uma linguagem totalmente livre, (Usar, Copiar, Modificar...)
O Ruby é uma linguagem 100% orientada a objetos, tudo em Ruby é objeto, qualquer variável em Ruby aponta para um objeto.
Por exemplo:
O atributo "methods" exibe todos as funções disponíveis na classe
Como eu disse no inicio o Ruby possui tipagem forte, vamos ver um exemplo:

"Ué você não falou que tem tipagem forte? como eu consegui atribuir uma string em um numérico?"
Sim tem tipagem forte, como eu disse no inicio, variaveis são referencias para objetos, nesse caso eu apenas apontei a variavel para um novo objeto.
Agora vamos ver o exemplo abaixo:

Bom, por enquanto é só. No próximo post vamos começar a colcar a mão na massa, ai sim você vai começar a descobrir como Ruby é divertido
Abraço!
Iuri Menescal
Diga não as drogas, não use IE!

