diff options
| -rw-r--r-- | mrblib/class.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mrblib/class.rb b/mrblib/class.rb new file mode 100644 index 000000000..9c3ef91fd --- /dev/null +++ b/mrblib/class.rb @@ -0,0 +1,24 @@ +class Module + # 15.2.2.4.13 + def attr_reader(*names) + names.each{|name| + define_method(name){self.instance_variable_get(name)} + } + end + # 15.2.2.4.14 + def attr_writer(*names) + names.each{|name| + aset = (name.to_s+"=").intern + define_method(aset){|v|self.instance_variable_set(name,v)} + } + end + # 15.2.2.4.12 + def attr_accessor(*names) + attr_reader(*names) + attr_writer(*names) + end + # 15.2.2.4.11 + def attr(name) + attr_reader(name) + end +end |
