Cuando tengo lo siguiente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
¿Hay alguna manera de acceder Foo::CONSTANT_NAME
o tengo que hacer un método de clase para acceder al valor?
Cuando tengo lo siguiente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
¿Hay alguna manera de acceder Foo::CONSTANT_NAME
o tengo que hacer un método de clase para acceder al valor?
Respuestas:
Lo que publicaste debería funcionar perfectamente:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
end
Foo::CONSTANT_NAME
# => ["a", "b", "c"]
CONSTANT_NAME = ["a", "b", "c"].freeze
::
y .
;)
Si está escribiendo código adicional dentro de su clase que contiene la constante, puede tratarlo como un global.
class Foo
MY_CONSTANT = "hello"
def bar
MY_CONSTANT
end
end
Foo.new.bar #=> hello
Si está accediendo a la constante fuera de la clase, agregue el prefijo con el nombre de la clase, seguido de dos puntos
Foo::MY_CONSTANT #=> hello
¿Hay alguna forma de acceder
Foo::CONSTANT_NAME
?
Sí hay:
Foo::CONSTANT_NAME