मैं कुछ प्रतिबिंब कर रहा हूं, और एक अप्रत्याशित सड़क ब्लॉक में भाग गया।रूबी विधि जो खुद को लौटती है
वहाँ रूबी (या रेल) में एक वस्तु विधि है जो अपने आप रिटर्न
ruby-1.9.2> o = Object.new
=> #<Object:0x00000104750710>
ruby-1.9.2> o.class
=> Object
ruby-1.9.2> o.send :self
NoMethodError: undefined method `self' for #<Object:0x00000104750710>
मैं क्या चाहता हूँ
ruby-1.9.2> o.send :self
=> #<Object:0x00000104750710>
इस में बनाया गया है है? या मैं वस्तु का विस्तार करने की आवश्यकता है (यह हमेशा मुझे परेशान खोलने वस्तु हो जाता है):
class Object
def itself
self
end
end
और फिर इतना:
ruby-1.9.2> o.send :itself
=> #<Object:0x00000104750710>
ठीक है, मैं क्या हासिल करने की कोशिश कर रहा हूँ पर कुछ पृष्ठभूमि । मैं अपने रेल app में एक सामान्य तालिका सहायक है, और आप अगर की तरह तो फोन:
render_list @person, [{field: :name, link_to: :itself},
{field: {address: :name}, link_to: :address}]
मैं सही रास्ते पर संघर्ष कर रहा था :itself
कॉल करने के लिए - लेकिन मैं सोच रहा हूँ कि मेरी पैच जाने का रास्ता है ।
यह स्पष्ट नहीं है कि आप यहां क्या करने का प्रयास कर रहे हैं। जहां तक मुझे पता है, 'स्वयं' इस मामले में बिल्कुल एक विधि नहीं है, लेकिन वर्तमान संदर्भ का संदर्भ है। क्या आप किसी भी तरह से 'ओ' से अलग होने की उम्मीद कर रहे हैं? – tadman
यदि आप अपना अंतिम लक्ष्य क्या है इसका उदाहरण देते हैं तो हो सकता है कि लोग अधिक उपयोगी उत्तर प्रदान कर सकें? –
@brett - जोड़ा – Jonathan