Ruby Language
Konstanter anter~~POS=HEADCOMP
Sök…
Syntax
- MY_CONSTANT_NAME = "mitt värde"
Anmärkningar
Konstanter är användbara i Ruby när du har värden som du inte vill ändras felaktigt i ett program, t.ex. API-nycklar.
Definiera en konstant
MY_CONSTANT = "Hello, world" # constant
Constant = 'This is also constant' # constant
my_variable = "Hello, venus" # not constatn
Konstant namn börjar med versaler. Allt som börjar med versaler betraktas som constant
i Ruby. Så class
och module
är också konstant. Bästa praxis är att använda alla stora bokstäver för att förklara konstant.
Ändra en konstant
MY_CONSTANT = "Hello, world"
MY_CONSTANT = "Hullo, world"
Ovanstående kod resulterar i en varning, eftersom du bör använda variabler om du vill ändra deras värden. Men det är möjligt att ändra en bokstav i taget i en konstant utan någon varning, så här:
MY_CONSTANT = "Hello, world"
MY_CONSTANT[1] = "u"
Nu, efter att ha ändrat den andra bokstaven i MY_CONSTANT
, blir det "Hullo, world"
.
Konstanter kan inte definieras i metoder
def say_hi
MESSAGE = "Hello"
puts MESSAGE
end
Ovanstående kod resulterar i ett fel: SyntaxError: (irb):2: dynamic constant assignment
.
Definiera och ändra konstanter i en klass
class Message
DEFAULT_MESSAGE = "Hello, world"
def speak(message = nil)
if message
puts message
else
puts DEFAULT_MESSAGE
end
end
end
Konstanten DEFAULT_MESSAGE
kan ändras med följande kod:
Message::DEFAULT_MESSAGE = "Hullo, world"