summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-06-24 01:22:53 +0900
committerYukihiro Matsumoto <[email protected]>2012-06-24 01:22:53 +0900
commit6d3b35e064ce46cc97530a4fc41e64e28c555c1a (patch)
treecb4187bb61583d5ff335f8409f4ce83719efc21f
parentd657e26d35ef31314a97d42bacc3e5dc85689404 (diff)
downloadmruby-6d3b35e064ce46cc97530a4fc41e64e28c555c1a.tar.gz
mruby-6d3b35e064ce46cc97530a4fc41e64e28c555c1a.zip
avoid generating iv name each time in accessors
-rw-r--r--mrblib/class.rb8
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