我正在创建一个创建数组的类。(是的,我意识到这已经在 ruby 中可用。这更像是一个练习。)SpecialArray 类基于输入创建一个数组,该输入要么由用户在创建新数组时给出,要么稍后添加到数组中。我无法连接这两个功能。创建一个数组可以正常工作,但添加它却不行。我曾认为输出 atrr_reader 会将现有数组保存在内存中,但现在我不确定。知道我怎样才能完成这项工作吗?
class SpecialArray
attr_reader :input, :output
def initialize(*input)
@input = input.flatten
@output = []
generate_array
end
def generate_array
input.each do |e|
add(e)
end
output
end
#update start
def numerical(element)
element.class == Fixnum
end
def unique(element)
output.include? element ? false : true
end
def valid_e(element)
unique(element) && numerical(element)
end
def numerical(elment)
element.class == Fixnum
end
def unique(element)
output.include? element ? false : true
end
def valid_e(element)
unique(element) && numerical(element)
end
#update end
def add(element)
unless valid_e(element) == false
output.push(element)
end
output
end
end