diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-09-02 16:41:38 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-09-02 16:41:38 +0900 |
| commit | 90ba47ccfe67859e3f139199da33e89137a74a41 (patch) | |
| tree | 8f9781696a2694697e762224509dbbb1c06475f2 /mrblib | |
| parent | 6c7b0d88e87a41b6e2c908e0a9dcbc722b7553dc (diff) | |
| download | mruby-90ba47ccfe67859e3f139199da33e89137a74a41.tar.gz mruby-90ba47ccfe67859e3f139199da33e89137a74a41.zip | |
implement attr_reader and attr_writer in C; use cfunc closure to speed-up
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/class.rb | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/mrblib/class.rb b/mrblib/class.rb index ebb44ca4c..39e0d5091 100644 --- a/mrblib/class.rb +++ b/mrblib/class.rb @@ -1,28 +1,5 @@ class Module - # 15.2.2.4.13 - def attr_reader(*names) - names.each do |name| - name = name.to_s - raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$') - - attr_name = '@'+name - define_method(name){self.instance_variable_get(attr_name)} - end - nil - end - # 15.2.2.4.14 - def attr_writer(*names) - names.each do |name| - name = name.to_s - raise(NameError, "#{name.inspect} is not allowed as an instance variable name") if name.include?('@') || name.include?('?') || name.include?('$') - - attr_name = '@'+name - name = (name+"=").intern - define_method(name){|v|self.instance_variable_set(attr_name,v)} - end - nil - end - # 15.2.2.4.12 + # 15.2.2.4.12 def attr_accessor(*names) attr_reader(*names) attr_writer(*names) |
