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"


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow