在ruby中有多个构造函数

having multiple constructors in ruby

本问题已经有最佳答案,请猛点这里访问。

is there to have a Way"初始化"方法在多个红宝石?一个方法excepting for example:当一excepts argument三?P></

something likeP></

1
2
3
4
5
6
7
8
 class One
  def initialize (a)
    puts a
  end
  def initialize_1 (a,b)
    puts a ,b
  end
end


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

1
2
3
4
5
6
7
8
9
10
11
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