5

有没有办法在 ruby​​ 中有多个“初始化”方法?例如:一种方法排除一个参数,而另一种方法排除三个?

就像是

 class One
  def initialize (a)
    puts a
  end
  def initialize_1 (a,b)
    puts a ,b 
  end
end
4

1 回答 1

5

initialize实际上不是构造函数。您确实可以有两个构造函数。

class One
  singletonclass.class_eval{alias old_new :new}
  def self.new a
    puts a
    old_new
  end
  def self.new_1 a, b
    puts a, b
    old_new
  end
end
于 2013-03-22T15:50:05.817 回答