如何干燥下面的代码并从第二个调用第一个初始值设定项?

class DataStream

  attr_reader :asset
  attr_reader :data

  def initialize(asset)
    @asset = asset
    @data = Array.new
  end

  def initialize(asset, values)
    @asset = asset
    @data = Array.new
    values.each do |value|
      add_value(value)
    end
  end

end

最佳答案

使用默认参数:

def initialize(asset, values = [])
  @asset = asset
  @data = Array.new
  values.each do |value|
    add_value(value)
  end
end

关于ruby - 如何在Ruby中从另一个调用一个初始化器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11132141/

10-16 05:19