Szukaj…


Składnia

  • MY_CONSTANT_NAME = „moja wartość”

Uwagi

Stałe są przydatne w Rubim, gdy masz wartości, których nie chcesz, aby przypadkowo zostały zmienione w programie, takie jak klucze API.

Zdefiniuj stałą

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

Stała nazwa zaczyna się od dużej litery. Wszystko, co zaczyna się od dużej litery, w Ruby jest uważane za constant . Zatem class i module są również stałe. Najlepszą praktyką jest stosowanie całej dużej litery do deklarowania stałej.

Zmodyfikuj stałą

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

Powyższy kod powoduje wyświetlenie ostrzeżenia, ponieważ powinieneś używać zmiennych, jeśli chcesz zmienić ich wartości. Można jednak zmieniać jedną literę na raz bez ostrzeżenia, tak jak to:

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

Teraz, po zmianie drugiej litery MY_CONSTANT , staje się ona "Hullo, world" .

Stałe nie mogą być zdefiniowane w metodach

def say_hi
  MESSAGE = "Hello"
  puts MESSAGE
end

Powyższy kod powoduje błąd: SyntaxError: (irb):2: dynamic constant assignment .

Definiuj i zmieniaj stałe w klasie

class Message
  DEFAULT_MESSAGE = "Hello, world"

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

Stałą DEFAULT_MESSAGE można zmienić za pomocą następującego kodu:

Message::DEFAULT_MESSAGE = "Hullo, world"


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow