考虑一下 rubocop 报告的这个罪行
lib/awesomelib/aws.rb:6:10: C: Style/MutableConstant: Freeze mutable objects assigned to constants.
IP = '34.111.241.111'
^^^^^^^^^^^^^^^^
我为什么要卡住这个 IP 地址?
最佳答案
您应该卡住分配给 IP
的值,因为您已将 IP
声明为常量。这表示您不希望分配给 IP
的值发生变化。
问题在于,在 ruby 中,为常量赋值并不能使该值不可变。如果您改变分配给常量的值,您只会收到警告。要使值实际上不可变,您需要.freeze
分配给常量的值。卡住分配给常量的值后,如果您尝试更改该值,将会遇到运行时错误。
关于Ruby:为什么卡住分配给常量的可变对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47046846/