Ruby - How to reproduce the pointers/references behavior?
I am currently trying to create an engine for a new application.
Design is quite complex and i realy need a way to create a re开发者_Python百科ference or a pointer or what ever way to remotely modify and access the datas. Datas must be kept in a single place and must not be duplicated.
Is there a way do get an object by reference ? For example can I get the instance of a class with his object_id ?
Thanks for your help ;)
The following should demonstrate how to get a reference to an object and de-reference it:
s = "I am a string" #=> "I am a string"
r = ObjectSpace._id2ref(s.object_id) #=> "I am a string"
r == s #=> true
You may wish to review the documentation for Object and ObjectSpace.
Not sure exactly what you want to achieve. Ruby uses references for all custom objects already.
You may want to look at the delegate
library.
require 'delegate'
obj = "foo"
ptr = SimpleDelegator.new(obj)
ptr.upcase # => "FOO"
other_obj = "bar"
ptr.__setobj__(other_obj) # make ptr point to another object
精彩评论