From: Kamarulnizam Rahim Date: 2011-02-01T07:40:19+09:00 Subject: class and inheritance. Inherit data Hi guys, I have a problem inheriting data from the parent class to its subclasses. My code is as followed: class Environmental def initialize convert_yaml = YAML::load_file('nizam.yaml') end def display #convert_yaml = YAML::load_file('nizam.yaml') end end class EnergyManagement < Environmental def initialize(title) @title = title end def display #convert_yaml = YAML::load_file('nizam.yaml') convert_yaml["System"]["Environmental"]["children"][2]["children"] << @title File.open("nizam_out.yaml", "w"){|f| YAML.dump(convert_yaml, f)} end end class WasteManagement < Environmental def initialize(title) @title = title end def display #convert_yaml = YAML::load_file('nizam.yaml') convert_yaml["System"]["Environmental"]["children"][3]["children"] << @title File.open("nizam_out.yaml", "w"){|f| YAML.dump(convert_yaml, f)} end end I want to use 'convert_yaml' for its subclasses (EnergyManagement and WasteManagement) but when i run my code, 'convert_yaml' is not recognized in the subclasses. undefined local variable or method `convert_yaml' for # (NameError) The reason i use this inheritance is because i want to write on the same yaml file if both subclasses were called. Before this, i use convert_yaml on every subclass but i found out that the yaml output ("nizam_out.yaml") file was overwritten if i call both subclasses at the same time. Sorry if my explanation quite confusing as i do not know how to explain this more clearly. Any help would be great. Thanks in advance. Nizam -- Posted via http://www.ruby-forum.com/.