class ParaList
attr_reader:classname
attr_writer:paralist
def initialize(name) @classname = name @paralist = Hash.new
end
end
$cellparalist = ParaList.new("AAA")
def MmlParse.addpara(paraclass,mo,mmlparalist)
a = Hash.new
a = paraclass.paralist #Error:in `addpara': undefined method `paralist' for #<ParaList:0xc6eff5
b = Hash.new
b["AAA"]=100;
a = b
}
You've defined an attr_writer for :paralist, but need an attr_reader for it
in order for the method you are calling to be defined. You probably want to
change attr_writer to attr_reader, or use attr_accessor if you really want
it to still be writable. attr_writer defines a separate method called
paralist=. You can call that method using paraclass.paralist = foobar.
···
On Wed, Sep 22, 2010 at 9:23 PM, iMelody Ooo <imelody@msn.com> wrote:
class ParaList
attr_reader:classname
attr_writer:paralist
def initialize(name) @classname = name @paralist = Hash.new
end
end
$cellparalist = ParaList.new("AAA")
def MmlParse.addpara(paraclass,mo,mmlparalist)
a = Hash.new
a = paraclass.paralist #Error:in `addpara': undefined method `paralist' for #<ParaList:0xc6eff5
b = Hash.new
b["AAA"]=100;
a = b
}
--
Posted via http://www.ruby-forum.com/\.