diff options
author | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-09 14:38:44 +0000 |
---|---|---|
committer | ttate <ttate@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-09 14:38:44 +0000 |
commit | 597a64146fe0268f4a71f78cdeebdf9823e6d045 (patch) | |
tree | f54127e86a1743aef4e6a53a75673f0268626e19 /ext/dl/lib | |
parent | 4c2929e1521d5dc0bc1e9036139f6bff74582796 (diff) | |
download | ruby-597a64146fe0268f4a71f78cdeebdf9823e6d045.tar.gz |
replaced the local variable 'entity' with an instance variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/dl/lib')
-rw-r--r-- | ext/dl/lib/dl/struct.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ext/dl/lib/dl/struct.rb b/ext/dl/lib/dl/struct.rb index ba7e81eaf9..01445cf55a 100644 --- a/ext/dl/lib/dl/struct.rb +++ b/ext/dl/lib/dl/struct.rb @@ -17,16 +17,15 @@ module DL module CStructBuilder def create(klass, types, members) new_class = Class.new(klass){ - entity = nil define_method(:initialize){|addr| - entity = klass.entity_class.new(addr, types) - entity.assign_names(members) + @entity = klass.entity_class.new(addr, types) + @entity.assign_names(members) } - define_method(:to_ptr){ entity } - define_method(:to_i){ entity.to_i } + define_method(:to_ptr){ @entity } + define_method(:to_i){ @entity.to_i } members.each{|name| - define_method(name){ entity[name] } - define_method(name + "="){|val| entity[name] = val } + define_method(name){ @entity[name] } + define_method(name + "="){|val| @entity[name] = val } } } size = klass.entity_class.size(types) |