Ruby Language
Constantes
Buscar..
Sintaxis
- MY_CONSTANT_NAME = "mi valor"
Observaciones
Las constantes son útiles en Ruby cuando tiene valores que no desea que se cambien por error en un programa, como las claves API.
Define una constante
MY_CONSTANT = "Hello, world" # constant
Constant = 'This is also constant' # constant
my_variable = "Hello, venus" # not constatn
El nombre constante comienza con mayúscula. Todo lo que comienza con mayúscula se considera constant
en Ruby. Así que la class
y el module
también son constantes. La mejor práctica es usar todas las letras mayúsculas para declarar constante.
Modificar una constante
MY_CONSTANT = "Hello, world"
MY_CONSTANT = "Hullo, world"
El código anterior genera una advertencia, ya que debería utilizar variables si desea cambiar sus valores. Sin embargo, es posible cambiar una letra a la vez en una constante sin advertencia, como esto:
MY_CONSTANT = "Hello, world"
MY_CONSTANT[1] = "u"
Ahora, después de cambiar la segunda letra de MY_CONSTANT
, se convierte en "Hullo, world"
.
Las constantes no se pueden definir en métodos.
def say_hi
MESSAGE = "Hello"
puts MESSAGE
end
El código anterior produce un error: SyntaxError: (irb):2: dynamic constant assignment
.
Definir y cambiar constantes en una clase.
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
se puede cambiar con el siguiente código:
Message::DEFAULT_MESSAGE = "Hullo, world"