Ho una classe con una costante definita per questo. Poi ho definito un metodo di classe che accede a quella costante di classe. Funziona bene Un esempio:(In Ruby) che consente ai metodi di classe mista accesso alle costanti di classe
#! /usr/bin/env ruby
class NonInstantiableClass
Const = "hello, world!"
class << self
def shout_my_constant
puts Const.upcase
end
end
end
NonInstantiableClass.shout_my_constant
mio problema si pone nel tentare di spostare questo metodo di classe ad un modulo esterno, in questo modo:
#! /usr/bin/env ruby
module CommonMethods
def shout_my_constant
puts Const.upcase
end
end
class NonInstantiableClass
Const = "hello, world!"
class << self
include CommonMethods
end
end
NonInstantiableClass.shout_my_constant
rubino interpreta il metodo richiede una costante dal modulo, anziché la classe:
line 5:in `shout_my_constant': uninitialized constant CommonMethods::Const (NameError)
Quindi, quali trucchi di magia ti compagni deve lasciare che l'accesso metodo di classe costante? Grazie molto.
Bene, questo chiarisce le cose. Dovevo ancora sperimentare la :: sintassi :). – jameshfisher
Non smettere di leggere adesso. Leggi sotto la risposta di johannes. – Sebastian