Zoeken…


Syntaxis

  • MY_CONSTANT_NAME = "mijn waarde"

Opmerkingen

Constanten zijn handig in Ruby wanneer u waarden hebt die u niet ten onrechte in een programma wilt wijzigen, zoals API-sleutels.

Definieer een constante

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

Constante naam begint met hoofdletter. Alles dat begint met een hoofdletter wordt als constant beschouwd in Ruby. Dus class en module zijn ook constant. De beste methode is om alle hoofdletters te gebruiken om constant te verklaren.

Wijzig een constante

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

De bovenstaande code resulteert in een waarschuwing, omdat u variabelen moet gebruiken als u hun waarden wilt wijzigen. Het is echter mogelijk om een letter per keer in een constante te wijzigen zonder een waarschuwing, zoals deze:

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

Nu, na het veranderen van de tweede letter van MY_CONSTANT , wordt het "Hullo, world" .

Constanten kunnen niet worden gedefinieerd in methoden

def say_hi
  MESSAGE = "Hello"
  puts MESSAGE
end

De bovenstaande code resulteert in een fout: SyntaxError: (irb):2: dynamic constant assignment .

Definieer en wijzig constanten in een klasse

class Message
  DEFAULT_MESSAGE = "Hello, world"

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

De constante DEFAULT_MESSAGE kan worden gewijzigd met de volgende code:

Message::DEFAULT_MESSAGE = "Hullo, world"


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow