2010-08-02 8 views

Respuesta

3
class MyClass 
    def initialize 
    class << self 
     FOO=1 
    end 
    end 
    def foo 
    class << self 
     FOO 
    end 
    end 
end 

Naturalmente, tendrá que utilizar el método foo siempre que sea posible leer el valor.

Un equivalente más simple sería

class MyClass 
    def initialize 
    def foo; 1; end 
    end 
end 
+1

Por supuesto, las constantes de todos modos no son constantes en Ruby. –

1

constantes Ruby no son muy constante: no son inmutables, y se puede asignar otro valor para ellos y todo lo que se obtiene es una advertencia. Ver la pregunta Constant Assigment Bug in Ruby?

Cuestiones relacionadas