Recherche…


Syntaxe

  • MY_CONSTANT_NAME = "ma valeur"

Remarques

Les constantes sont utiles dans Ruby lorsque vous avez des valeurs que vous ne souhaitez pas modifier par erreur dans un programme, telles que les clés API.

Définir une constante

MY_CONSTANT = "Hello, world" # constant
Constant = 'This is also constant' # constant
my_variable = "Hello, venus" # not constatn

Le nom de la constante commence par une majuscule. Tout ce qui commence par une majuscule est considéré comme constant dans Ruby. Donc class et module sont également constants. La meilleure pratique consiste à utiliser toutes les lettres majuscules pour déclarer une constante.

Modifier une constante

MY_CONSTANT = "Hello, world"
MY_CONSTANT = "Hullo, world"

Le code ci-dessus génère un avertissement, car vous devez utiliser des variables si vous souhaitez modifier leurs valeurs. Cependant, il est possible de changer une lettre à la fois dans une constante sans avertissement, comme ceci:

MY_CONSTANT = "Hello, world"
MY_CONSTANT[1] = "u"

Maintenant, après avoir changé la deuxième lettre de MY_CONSTANT , il devient "Hullo, world" .

Les constantes ne peuvent pas être définies dans les méthodes

def say_hi
  MESSAGE = "Hello"
  puts MESSAGE
end

Le code ci-dessus génère une erreur: SyntaxError: (irb):2: dynamic constant assignment .

Définir et modifier des constantes dans une classe

class Message
  DEFAULT_MESSAGE = "Hello, world"

  def speak(message = nil)
    if message
      puts message
    else
      puts DEFAULT_MESSAGE
    end
  end
end

La constante DEFAULT_MESSAGE peut être modifiée avec le code suivant:

Message::DEFAULT_MESSAGE = "Hullo, world"


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow