Ruby – Variáveis

Uma variável é um identificar ou nome que está associados a um valor e esse valor tem ou irá ter um tipo no momento da execução, podemos ver um exemplo simples.

x = 100

A variável x é associada ao valor 100 pelo símbolo igual. Agora a variável local x tem o valor 100.
Então mas e qual é o tipo da variável? Ao contraio da maioria das linguagem como Java, C/C++, D entre outras que são estaticamente tipadas ou seja uma variável tem um tipo associado desde o momento em que a variável é definida.

Por exemplo a declaração de variáveis é feita da seguinte forma.

int x = 10;
int y = 90;

Ruby não tem declaração de tipos apenas atribui um valor a uma variável como o seguinte exemplo

x = 10
y = 90

também não precisamos de um terminador como Java que usa o ‘;’ para terminar uma declaração em Ruby basta passar de linha e a declaração está feita.

As variáveis x e y são ambos do tipo inteiro mas essa atribuição é feita automaticamente pelo Ruby e não pelo programador por isso podemos dizer que Ruby é uma linguagem dinamicamente tipada, embora a variável não tenha um tipo associado esse tipo existe mas varia com o tipo de valor associado à variável.

Vejamos agora como saber de que tipo é a variável e como converter o tipo de uma variável, operação muito úteis quando queremos ter um controlo sobre variáveis.

O métodos kind_of? retorna true ou false dependendo se o tipo da variável corresponde ao tipo testado ou não.

x.kind_of? Integer 

O resultado será true, isto porque o valor de x é uma instância da classe Fixnum que é uma subclasse da classe Integer.

x.class

Como se podemos ver o resultado é Fixnum, esta classe tem também um método muito útil, o método to_f converte um inteiro para um float de forma simples.

x.to_f

Esta expressão irá retornar o valor 10.0 ou seja o valor da variável x convertido de inteiro para float.

Variáveis Locais

Acima foi referido que a variável x era uma variável local, ou seja tem um escopo loca, de contexto, por exemplo uma variável local definida dentro de um método ou um ciclo terá apenas um ciclo de vida limitado ao método ou ciclo, ou seja qualquer variáveis definia dessas condições não poderá ser acedida depois de terminado o método ou ciclo.
As variaveis locais deve começar com letra minúscula ou com underscore (_), por exemplo nome ou _nome.

Variáveis de Instância

Uma variável de instância é uma variável referenciada por uma instância de classe e por isso a variável pertence a um objecto. As variáveis de instância é precedida pelo simbolo (@) da seguinte forma.

@nome = "Magician"

Variáveis de Classe

Uma variável de classe é partilhada por todos os objectos da classe, apenas um copia da variável é criada para a classe e para todos os seus objectos e deve ser inicializada antes de ser usada. Estas variáveis é precedida por (@@).

@@contador = 0

Variáveis Globais

Uma variável global pode ser acedida globalmente por todo o programa, dentro de qualquer estrutura. As variáveis globais são precedidas por ($).

$version = 1

As variáveis globais são difíceis de controlar e por isso devem ser usadas apenas em casos muitos especifico e em ultimo recurso.

Constantes

Uma constante é basicamente uma variável que tem o mesmo valor durante a execução de todo o programa. As constantes são nomeadas com a primeira letra maiúscula ou todas as letras do nome em maiúscula.

PI = 3.14159265

Se uma constante é definida dentro de uma classe ou modulo é possível ter acesso a ela de qualquer parte de classe ou do modulo, se for definida fora de uma classe ou modulo a constante é acessível globalmente.
Ao contrário da maioria das linguagem de programação as constantes são mutáveis ou seja o sei valor pode ser alterado.

Declaração em Paralelo

A declaração em paralelo é um forma de declarar uma serie de variáveis de uma só vez, ao invés do clássico

a = 1
b = 2
c = 5

podemos utilizar um simples

a, b, c = 1, 2, 5

e podemos até utilizar a declaração em paralelo para a declarar uma serie de variáveis de tipo diferentes.

a, b, c = "xy", 2, 5.0

Desta forma termina este capitulo variáveis.

Por Fábio Correia (White Magician)

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s