Différence entre la variable d'instance Ruby et la variable locale

Méthode d'instance

Si vous définissez une méthode dans une classe, cette méthode devient une méthode d'instance. Les méthodes d'instance sont des méthodes qui peuvent être appelées sur des instances de cette classe. (Exemple)

class User
  def emotion
     "Happy!"
  end
end

user = User.new
user.emotion

résultat

"Happy!"

Variable d'instance

Dans une classe, vous pouvez utiliser des variables d'instance (variables partagées dans la même instance). Les noms de variables commencent par @. (Exemple)

class User
  def initialize(emotion)
    @emotion = emotion
  end

  def happy
    "I am #{@emotion}."
  end
end
user = User.new('Happy')
user.happy

résultat

"I am Happy."

Variables locales

Une variable créée dans une méthode ou un bloc. Commencez par un alphabet inférieur, soulignement. Les variables locales doivent toujours être créées en attribuant une valeur avec = avant le référencement.

(Exemple)

class User
  def initialize(emotion)
    @emotion = emotion
  end

  def happy
    shuffled_emotion = @emotion.chars.shuffle.join
    "I am #{shuffled_emotion}."
  end
end
user = User.new('Happy')
user.happy

Dans cet exemple, la variable locale serait shuffled_emotion.

résultat

"I am ayppH."

Littérature référencée

Introduction à Ruby pour ceux qui veulent devenir des professionnels

Recommended Posts

Différence entre la variable d'instance Ruby et la variable locale
Différence entre la variable d'instance et la variable de classe
Différence entre les variables et les variables d'instance
Différence entre classe et instance
[Ruby] Différence entre obtenir et publier
Différence entre la méthode d'instance et la méthode de classe
[Ruby] Différence entre is_a? Et instance_of?
Remarque: Différence entre Ruby "p" et "met"
Différence entre "|| =" et "instance_variable_defined?" Dans Ruby memo
[Ruby] Différence entre print, put et p
Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.
Différence entre vh et%
Différence entre i ++ et ++ i
[Ruby] Différence entre les put et les retours, les valeurs de sortie et de retour
[Java] Différence entre "variable finale" et "objet immuable"
[Ruby] J'ai réfléchi à la différence entre each_with_index et each.with_index
[Java] Différence entre == et égal
Différence entre redirect_to et render
Différences entre les classes et les instances dans Ruby
Différence entre CUI et GUI
Différence entre mockito-core et mockito-all
Différence entre l'installation de bundle et de bundle
Différence entre ArrayList et LinkedList
Différence entre render et redirect_to
Différence entre List et ArrayList
[Ruby] Différence entre match / scan
Différence entre .bashrc et .bash_profile
Différence entre StringBuilder et StringBuffer
Différence entre render et redirect_to
[Docker-compose] Différence entre env_file et environnement. À propos de la priorité de l'application de variable d'environnement
[Java] Différence entre l’affectation d’une variable de type de base et l’affectation d’une variable de type de référence
Quelle est la différence entre une action et une méthode d'instance?
La différence entre la programmation qui utilise des classes Ruby et la programmation qui n'utilise pas
Différence entre l'opérateur == et la méthode égale
[Java] Différence entre Hashmap et HashTable
[Terminal] Différence entre irb et pry
JavaServlet: différence entre executeQuery et executeUpdate
Différence entre l'opérateur == et la méthode eqals
Différence approximative entre RSpec et minitest
[Rails] Différence entre find et find_by
[JAVA] Différence entre abstrait et interface
Différence entre Thymeleaf @RestController et @Controller
Différence entre Stream map et flatMap
[Java] Différence entre array et ArrayList
Différence entre le type primitif et le type de référence
Différence entre string.getByte () et Hex.decodeHex (string.toCharaArray ())
[Java] Différence entre fermable et fermable automatiquement
[Java] Différence entre StringBuffer et StringBuilder
[Java] Différence entre longueur, longueur () et taille ()
[rails] Différence entre redirect_to et render
[Android] Différence entre finish () et return;