gpt4 book ai didi

ruby - 如何在 Ruby 中从另一个调用一个初始化程序?

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:23 27 4
gpt4 key购买 nike

如何 DRY 以下代码并从第二个调用第一个初始化程序?

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 = nil)
@asset = asset
@data = Array.new
values.each do |value|
add_value(value)
end if values
end

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com