Ruby 没有常数值?

标签 ruby constants

可以这样写

class Foo
 MY_CONST = 100
end

也可以更改它 Foo::MY_CONST = 123

Ruby 编译器会发出警告,但无论如何都会更改常量。

所以 Ruby 没有常量值?

最佳答案

这取决于您希望对常量执行何种操作。

如果你有一个

ARRAY = [1,2,3]
#and then 
ARRAY << 4

Ruby 不会提示。

但是,如果你

ARRAY = [1,2,3].freeze
#and
ARRAY << 4
#RuntimeError: can't modify frozen Array

你还可以

ARRAY = [1,2,3,4]
#warning: already initialized constant ARRAY

关于Ruby 没有常数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12181568/

相关文章:

c - 是否可以强制函数参数在 C 中保持不变?

enums - Dart:从JavaScript var初始化枚举

ruby - 如何使用 rake 运行指定目录中的所有 ruby​​ 文件

ruby-on-rails - 如何让 rufus-scheduler 与部署到 Heroku 的 Rails 应用程序一起工作?

c++ - 与 const 和非常量相同的对象,我应该假设什么才能正确运行?

c++ - 指向const对象的指针可以改变对象吗?

c - 使变量成为 const 或 final 是否节省字节或内存?

ruby-on-rails - 从迁移中执行 Rake 任务?

ruby - 使用file.exists时不断出错

Ruby 捕获所有异常类