以下で受け取ったエラーに誰かが光を当ててくれることを願っています。親クラスでインスタンス変数を定義Node
し、サブクラスでアクセスして変更したいのですが、アクセスAddSubNode
しようとすると、次の@code
エラーが表示されます。
'code': undefined method `<<' for nil:NilClass (NoMethodError)
Rubyの継承モデルを誤解しているのでしょうが、これならいけると思いました。
class Node
attr_accessor :code
def initialize
@code = []
end
end
class AddSubNode < Node
def initialize op, l, r
@op = op
@l = l
@r = r
end
def code
@code << 1 # error: `code': undefined method `<<' for nil:NilClass (NoMethodError)
@code
end
def to_s
"#{@l} #{@op} #{@right}"
end
end