配列を作成するクラスを作成しています。(はい、Ruby では既に利用可能です。これは演習のようなものです。) クラス SpecialArray は、新しい配列を作成するときにユーザーが指定したか、後で配列に追加された入力に基づいて配列を作成します。これら 2 つの機能を接続するのに問題があります。配列の作成は正常に機能しますが、追加は機能しません。出力 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