यह सवाल "Given an instance of a Ruby object, how do I get its metaclass?"रूबी मेटाक्लास को देखते हुए, मैं उस उदाहरण को कैसे प्राप्त करूं जिसमें यह संलग्न है?
आप वस्तु जो करने के लिए एक metaclass या सिंगलटन वर्ग डिफ़ॉल्ट में जुड़ा हुआ है का प्रतिनिधित्व देख सकते हैं का उल्टा होता है to_s
उत्पादन:
s = "hello"
s_meta = class << s; self; end
s_meta.to_s # => "#<Class:#<String:0x15004dd>>"
class C; end
c_meta = class << C; self; end
c_meta.to_s # => "#<Class:C>"
को क्या यह संभव है एक विधि Class.attached
लागू करें जो इस ऑब्जेक्ट को लौटाता है (या शून्य अगर रिसीवर नियमित कक्षा है)?
s_meta.attached # => s
c_meta.attached # => C
C.attached # => nil