轨道中的Constantize和ruby中的Constant之间的区别

时间:2013-05-16 06:49:28

标签: ruby-on-rails ruby-on-rails-3

我遇到了Rails的Constantize内部函数,它试图找到一个带有参数字符串中指定名称的常量。

该函数在其定义中使用了ruby的const_get函数,任何人都可以告诉两者之间有什么区别,因为我无法找出任何差异。

1 个答案:

答案 0 :(得分:2)

String#constantize可以找到嵌套常量(类和模块)。 const_get可用于在模块/类/顶级命名空间中查找单个常量。您必须递归使用const_getconst_defined?的组合来模仿constantize的功能