我有一个像这样的课程:
class Equipment
attr_reader :text
attr_reader :name
attr_reader :array1
attr_reader :number
end
然后,我想制作 2 个构造函数,每个构造函数有 3 个参数:
1º 一 ->(文本、名称、数组 1)
2º 一 ->(文本、名称、数字)
第一个作为参数有一个数组,另一个有一个整数(1,2 ...),所以我需要定义两个构造函数,所以当我创建这个类的一个对象时,它会在数组或整数之间产生差异3º 论点。
有任何想法吗?
编辑:我想这个:
def initialize(text = "", name = "", array = array.new, number =0)
@text = text
@name = name
@array1 = array
@number = number
end
(初始化所有这些)然后:
def Equipment.newc_witharray(sometext, somename, somearray)
@text = sometext
@name = somename
@array1 = somearray
end
def Equipment.newc_withint(sometext, somename, somenumber)
@text = text
@name = name
@number = somenumber
end
最后像这样调用对象:
character1 = Equipment.newc_withint("Barbarian", "conan", 3)
这不应该工作吗?