Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 4, 2022 04:55 pm GMT

Variveis - Ruby

Variveis Locais

As variveis locais so as mais comuns quando estamos utilizando o Ruby. Para us-la basta que seja atribudo um valor varivel desejada. Vejam os exemplos:

x = 10=> 10
name = 'Diego Novais'=> "Diego Novais"

as variveis possuem seu escopo, por ex. uma varivel local exercer seu papel apenas no local onde foi definida.

def my_name_is  first_name = 'Diego'  last_name = 'Novais'end=> :my_name_is

Se tentarmos imprimir uma das variveis fora do escopo do mtodo my_name_is teremos um erro:

irb(main):010:0> first_name...1: from (irb):10NameError (undefined local variable or method `first_name' for main:Object)

Variveis Globais$

O conceito de varivel global , basicamente, uma referncia acessvel em qualquer parte da aplicao. Existe uma conveno de nomes onde diz que estas variveis devem ser iniciadas com $ (cifro).

$version = "1.2.3"=> "1.2.3"
defined? $version=> "global-variable"

Variveis de Instncia @

As variveis de instncia so aquelas queficam disponveis para cada uma das instncias de uma classe, ou seja, isoladamente em cada objeto. Ou seja, variveis de instncia implementam os atributos de uma classe, ou suas variveis membro, e, coletivamente, representam o estado de um objeto. So definidas na classe de forma independente dos outros objetos da mesma classe.

Veja o exemplo:

class Person  def initialize    @name = "teste"  end  def speak    "I'm speaking with you! #{@name}"  endend=> :speak
person = Person.newperson.instance_variables=> [:@name]

Variveis de Classe@@

Variveis de classe so responsveis por guardar informaes em um classe. Armazenam seu prprio estado e so compartilhadas entre todos os objetos e atravessam as heranas entre classes. Variveis de classe devem ser iniciadas com @@ (2 arrobas).

Veja o exemplo:

class Animal  @@kind = 'flying'  def self.kind    @@kind  endendAnimal.kind=> "flying"class Duck < Animal  @@kind = 'walk'endDuck.kind=> "walk"Animal.class_variables=> [:@@kind]

Original Link: https://dev.to/dnovais/variaveis-ruby-f8p

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To