Ruby Language
Les constantes
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"