我们正在将ruby facets用于新项目,我需要等效的'constantize'方法。 我知道我可以要求ActiveSupport,但我想知道,Factes提供的东西是什么,或者我需要ActiveSupport。
答案 0 :(得分:2)
这不会回答“Facets提供的东西”是你问题的一部分,但它肯定会回答“或者我需要ActiveSupport”。它还向您展示了该方法的实际实现方式,这非常简单
class String
def constantize
self.split("::").inject(Module) {|acc, val| acc.const_get(val)}
end
end
修改:对于它的价值,Facets采用constant
方法,请参阅http://rubyworks.github.com/rubyfaux/?doc=http://rubyworks.github.com/facets/docs/facets-2.9.3/core.json#api-module-Kernel/api-method-Kernel-h-constant