2012-06-03 9 views

उत्तर

18

this के रूबी समकक्ष self है - वे दोनों वर्तमान उदाहरण को संदर्भित करते हैं।

मुश्किल हिस्सा यह है कि रूबी वर्ग के दायरे में, self कक्षा Class के वर्तमान उदाहरण को संदर्भित करता है जो आपके द्वारा बनाई जा रही कक्षा को परिभाषित करता है। एक विधि के अंदर, self कक्षा के उदाहरण को संदर्भित करता है।

जैसे:

 
class Example 
    puts self # => "Example" - the stringified class object 

    def foo 
    puts self # #<Example:0xdeadbeef> - the stringified instance 
    end 
end 
3

$this के अनुरूप, self है के रूप में उल्लेख किया गया है। हालांकि, आपने $this-> के बारे में पूछा, जिसका अर्थ है कि आप इसे आवृत्ति चर ($this->somevar) या इंस्टेंस विधि (this->somemethod()) तक पहुंचने के लिए उपयोग करना चाहते हैं। एक आवृत्ति परिवर्तनीय के लिए, रूबी के समकक्ष @ (@somevar में) होगा। उदाहरण के तरीकों के लिए, समकक्ष विधि विधि (somemethod) लिखना होगा, या यदि आप वर्बोज़ (self.somemethod) होना चाहते हैं।

संबंधित मुद्दे