ruby - 为什么 Class#allocate 在 Ruby 中是公共(public)方法?

标签 ruby object

为什么 MyClass.allocate 是 Ruby 中的公共(public)方法?在什么情况下您希望创建对象但不对其运行initialize

最佳答案

我想到了反序列化。一个类可能是可序列化的,但可能没有不带任何参数的初始化,并且该代码不需要将其初始化为只是为了立即撤消该工作的东西。

基本上,在您以与典型情况不同的方式初始化对象的任何情况下,将这两个步骤分开都是很有用的。

关于ruby - 为什么 Class#allocate 在 Ruby 中是公共(public)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057015/

相关文章:

mysql - Rails 列名冲突

RUBY 2.0.0 如何在 irb 中运行一个文件,使其所有方法都是 irb 环境的一部分?

ruby-on-rails - Rails,在尝试使用 put http 方法的表单中出现问题

java - 遍历对象的数组列表

javascript - 递归循环对象的对象

java.lang.object无法转换为(自制类)

ruby-on-rails - 为什么在没有使用 pry 的情况下却使用了 pry ?

java - ArrayList<>,在创建另一个对象时添加对象

javascript - 对象应保持其状态

ruby - 有没有更简洁的方法在 Ruby 中调用 map 上的外部方法?