我正在开发一个 Rails 应用程序,其中在一个类中,常量是使用 const_set constant_name, value
定义的。
我知道我们可以直接在类中定义常量,只需指定常量的 CAPITALIZE 名称及其值,如下所示
class A
RANDOM_CONSTANT = 1
end
那么使用
const_set
定义常量和我在 A
类中声明的方式有什么区别? 最佳答案
class A
RANDOM_CONSTANT = 1
end
写和读更简单。这应该是设置常量的首选方法。
constant_name = 'RANDOM_CONSTANT'
A.const_set(constant_name, 1)
将在动态生成常量名称时起作用,因此更灵活。您通常只在想要执行一些元编程魔术时才使用它。
除此之外,它们是等效的。
关于Ruby - 在类中使用 'const_set' 定义常量和简单大写常量名称有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60650882/