私は次のクラスを持っています:
class A
@@one = {1 => "hen", 2 => "di", 3 => "tri", 4 => "tetra"}
@@two = {5 => "penta", 6 => "hexa", 7 => "hepta",
8 => "octa", 9 => "nona"}
def initialize(value)
@value = value
end
def to_s
value = @value
if value <=4
@@one[value]
else
@@two[value]
end
end
end
class B < A
@@one = {1 => "meth", 2 => "eth", 3 => "prop", 4 => "but"}
def initialize(value)
@value = value
end
end
および次のドライバー:
require_relative 'A.rb'
require_relative 'B.rb'
puts A.new(1)
puts B.new(1)
出力を次のようにしたいと思います。
hen
meth
しかし、A クラス変数 @@one は B クラス変数 @@one によって上書きされます。だから私の出力はこれです:
meth
meth
クラスインスタンス変数、クラス定数、クラス変数を試してみました。しかし、どちらのソリューションも機能しません。