Nik*_* B. 16
让我们来看看:
class Test
  def initialize; end
end
p Test.new.private_methods.sort.include?(:initialize)
这打印true,initialize私有方法也是如此.这是有道理的,只有new在创建对象时才通过类方法调用它.如果我们想要,我们可以这样做:
class Test
  def initialize
    @counter = 0
  end
  def reset!
    initialize
  end
end
如果它不仅仅是简单的变量初始化,那么滥用这样的构造函数可能会导致问题.