我正在开发一个 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/

10-16 01:05