रूबी में, मेरी समझ यह है कि self
किसी नंगे विधि कॉल के लिए अंतर्निहित रिसीवर है। हालांकि:यदि रूबी में 'आत्म` हमेशा अंतर्निहित रिसीवर होता है, तो' self.puts 'क्यों काम नहीं करता है?
~: irb
>> puts "foo"
foo
=> nil
>> self.puts "foo"
NoMethodError: private method `puts' called for main:Object
यह क्या बताता है?
मामले में यह किसी भी मदद के लिए:
>> method(:puts).owner
=> Kernel
'self.send: puts, "foo"' आज़माएं। आप भेजने के साथ लगभग निजी तरीकों को प्राप्त कर सकते हैं। – DGM