Quando ho il seguente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
C'è un modo per accedere Foo::CONSTANT_NAME
o devo creare un metodo di classe per accedere al valore?
Quando ho il seguente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
C'è un modo per accedere Foo::CONSTANT_NAME
o devo creare un metodo di classe per accedere al valore?
Risposte:
Quello che hai pubblicato dovrebbe funzionare perfettamente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
end
Foo::CONSTANT_NAME
# => ["a", "b", "c"]
CONSTANT_NAME = ["a", "b", "c"].freeze
::
e .
;)
Se stai scrivendo codice aggiuntivo all'interno della tua classe che contiene la costante, puoi trattarlo come un globale.
class Foo
MY_CONSTANT = "hello"
def bar
MY_CONSTANT
end
end
Foo.new.bar #=> hello
Se accedi alla costante esterna alla classe, aggiungi il prefisso con il nome della classe, seguito da due punti
Foo::MY_CONSTANT #=> hello
C'è un modo per accedere
Foo::CONSTANT_NAME
?
Si C'è:
Foo::CONSTANT_NAME