如何冻结Ruby引用?
发布时间:2020-12-17 02:58:51 所属栏目:百科 来源:网络整理
导读:我使用Object#freeze来冻结对象的值.我可以编写一个函数来深度冻结复杂的对象结构.但两者都不会阻止我为对象分配新值. $O=cl()$O.thorough_freeze$O[:file] = "makefile" # = TypeError$O[:commands][0] = "clean" # = TypeError$O = "reticulate" # = TypeE
我使用Object#freeze来冻结对象的值.我可以编写一个函数来深度冻结复杂的对象结构.但两者都不会阻止我为对象分配新值.
$O=cl() $O.thorough_freeze $O[:file] = "makefile" # => TypeError $O[:commands][0] = "clean" # => TypeError $O = "reticulate" # => TypeError 在C我说 int const * const ptr = argv; 如何彻底冻结标识符? 解决方法
没有办法做到这一点.如果变量是常量(以大写字母开头),那么如果您尝试重新分配变量,则会看到警告,但仍会进行重新分配.例如
irb(main):008:0> MyConst = my_obj => #<MyClass:0x2b8a66c> irb(main):009:0> MyConst = my_other (irb):9: warning: already initialized constant MyConst => #<MyClass:0x2b854b4> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |