Ruby Language
Константы
Поиск…
Синтаксис
- MY_CONSTANT_NAME = "мое значение"
замечания
Константы полезны в Ruby, когда у вас есть значения, которые вы не хотите ошибочно менять в программе, например, ключи API.
Определить константу
MY_CONSTANT = "Hello, world" # constant
Constant = 'This is also constant' # constant
my_variable = "Hello, venus" # not constatn
Константное имя начинается с заглавной буквы. Все, что начинается с заглавной буквы, считается constant
в Ruby. Таким образом, class
и module
также постоянны. Лучшей практикой является использование всей заглавной буквы для объявления константы.
Изменить константу
MY_CONSTANT = "Hello, world"
MY_CONSTANT = "Hullo, world"
Приведенный выше код приводит к предупреждению, потому что вы должны использовать переменные, если хотите изменить их значения. Однако можно менять одну букву за раз в константе без предупреждения, например:
MY_CONSTANT = "Hello, world"
MY_CONSTANT[1] = "u"
Теперь, после замены второй буквы MY_CONSTANT
, она становится "Hullo, world"
.
Константы не могут быть определены в методах
def say_hi
MESSAGE = "Hello"
puts MESSAGE
end
Приведенный выше код приводит к ошибке: SyntaxError: (irb):2: dynamic constant assignment
.
Определить и изменить константы в классе
class Message
DEFAULT_MESSAGE = "Hello, world"
def speak(message = nil)
if message
puts message
else
puts DEFAULT_MESSAGE
end
end
end
Константу DEFAULT_MESSAGE
можно изменить следующим кодом:
Message::DEFAULT_MESSAGE = "Hullo, world"