diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-06-24 01:22:53 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-06-24 01:22:53 +0900 |
| commit | 6d3b35e064ce46cc97530a4fc41e64e28c555c1a (patch) | |
| tree | cb4187bb61583d5ff335f8409f4ce83719efc21f | |
| parent | d657e26d35ef31314a97d42bacc3e5dc85689404 (diff) | |
| download | mruby-6d3b35e064ce46cc97530a4fc41e64e28c555c1a.tar.gz mruby-6d3b35e064ce46cc97530a4fc41e64e28c555c1a.zip | |
avoid generating iv name each time in accessors
| -rw-r--r-- | mrblib/class.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mrblib/class.rb b/mrblib/class.rb index e984376a4..4f268b6c8 100644 --- a/mrblib/class.rb +++ b/mrblib/class.rb @@ -2,14 +2,16 @@ class Module # 15.2.2.4.13 def attr_reader(*names) names.each{|name| - define_method(name){self.instance_variable_get('@'+name.to_s)} + name2 = ('@'+name.to_s).intern + define_method(name){self.instance_variable_get(name2)} } 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.to_s,v)} + name2 = ('@'+name.to_s).intern + name = (name.to_s+"=").intern + define_method(name){|v|self.instance_variable_set(name2,v)} } end # 15.2.2.4.12 |
