Ruby

  • Categorias

  • Arquivos

Variáveis

As variáveis em Ruby implementam os conceitos de variáveis persistentes, temporárias e compostas. E não dá suporte à variáveis heap.

Exemplos:

— variáveis temporárias:

v = 8

— variáveis persistentes:

f = File.new(“teste.txt”,”r”)

f.puts “Primeira linha”

f.close

variáveis compostas: as classes

Em Ruby é possível realizar atualização total e seletiva:

Exemplos:

#Atualizacao

class Foo

@a

@b

def qualquer(j,s)

@a = j

@b = s

end

def qualquer2(s,j)

@a = j

@b = s

end

end

f = Foo . new()

# Atualizacao seletiva

f.qualquer(5,6)

# Atualizacao total

g = f.clone

Os arrays em Ruby são flexíveis e não tipados, ou seja, podem armazenar valores de diferentes tipos(inclusive outros arrays).

Exemplo:

#Arrays

a = [ 1 , 2 , 3 , ” quatro ” , [ 5 , “cinco” ] ]

#criando um array

a [10] = “dez” # completará as outras posições com vazio

puts a

# será impresso = 1 2 3 quatro 5 cinco nil nil nil nil nil dez

O Ruby possui uma convenção de nomes para as sua variáveis, de forma que somente pelo nome possamos saber o escopo da variável. Mas é importante saber que esta não é apenas uma convenção cujo uso é recomendado, pelo contrário, ela de fato faz parte da sintaxe da linguagem. Sendo assim, uma vez que você cria uma variável, o escopo dessa variável será determinado pelo nome que você deu.

Quanto ao escopo, as variáveis podem ser variáveis locais, variáveis globais, variáveis de instância e variáveis de classe.

Variáveis locais:

Variáveis locais são variáveis definidas dentro de um método, só existindo dentro dos limites daquele método específico. Os seus nomes devem começar com letras minúsculas ou com underscore(_), embora o mais comum seja que eles comecem com letras minúsculas mesmo. Exemplo de variável local: idade, nome_completo e data_de_nascimento.

Variáveis globais:

Uma variável global é aquela que, uma vez criada, é acessível em qualquer parte do programa, existindo inclusive variáveis globais predefinidas no Ruby. A convenção de nomes diz que estas variáveis devem ter seu nome começando com $. $versao é um exemplo de nome de uma variável global.

Variáveis de instância:

As variáveis de instância implementam os atributos de uma classe, e coletivamente representam o estado do objeto, sendo que cada objeto possui uma cópia de cada variável de instância definida na classe de forma independente dos outros objetos da mesma classe. A convenção do Ruby para os nomes de variáveis de instância é que elas comecem com @. Sendo assim, uma variável chamada @nome seria uma variável de instância.

Variáveis de classe ou Estáticas:

Algumas vezes, as classes precisam armazenar informações referentes a si próprias, ou seja, ter, de alguma forma, o seu próprio estado, e é aí que entram as variáveis de classe. Uma variável de classe é compartilhada entre todos os objetos desta classe, portanto podem ser usadas por cada um deles, e também pelos métodos de classe, sobre os quais falaremos no futuro. Além disso, dada uma certa classe, só existirá uma cópia de cada variável de classe dela, mesmo que existam dezenas de objetos desta classe. As variáveis de classe devem ter o seu nome começando com @@, como por exemplo a variável @@contador.

Algumas regras adicionais

Além das regras já mencionadas, depois do primeiro caractere do seu nome, uma varíavel só poder ter combinações de letras, números e o caractere de underscore. E quando uma variável possui mais de uma palavra no seu nome, as palavras são separadas pelo undescore. Além disso, o caractere após @ e @@ não pode ser um dígito, ou seja, @@1 e @2 são nomes de variáveis inválidos no Ruby.

Exemplo

Os 4 escopos de variáveis do Ruby.

opcao = “Sim”

$versao = 1.0

@idade = 15

@@contador = 28

Deixe um comentário