Saturday, 15 August 2015

ruby - Why here the self is MyClass? -


  वर्ग MyClass def MyFun आत्म अंत अंत मेरा = MyClass.new mine.MyFun # = & gt; # & LT; MyClass: 0x10a3ee670 & gt;   

चूंकि मॉड्यूल, वर्ग, def सभी परिवर्तन गुंजाइश, यहां स्वयं MyClass के बजाय MyFun होना चाहिए क्योंकि यह डीईएफ़ के अंत में है ... अंत क्यों अभी भी यह MyClass पर रहता है?

<कोड> स्वयं का दायरा:

कक्षा परिभाषा के अंदर, स्वयं हमेशा वर्ग स्थिरांक (कक्षा का उदाहरण) ही होता है। ( उदाहरण विधियों को छोड़कर)।

उदाहरण विधियों के अंदर, स्वयं उस श्रेणी स्थिरता के उदाहरण हैं, जो कि संबंधित विधियों को कहते हैं।

  p rUBY_VERSION वर्ग Foo def self.talk p "यहां SELF है-> # {self}" अंत डीईफ़ डिस्प्ले पी "यहां एसईएलएफ है- gt; # {self } "अंत पी" यहां एसईएलएफ है-> gtc: # {self} "अंत Foo.talk foo = Foo.new foo.display वर्ग & lt; & lt; Foo p "यहां SELF है-> # {self}" end   

आउटपुट:

  "2.0.0" "यहां एसईएलएफ है-> Foo" "यहां एसईएलएफ है-> Foo" "यहां एसईएलएफ है- & gt; # & lt; फ़ू: 0x1fc7fa0 & gt;" "यहां एसईएलएफ है- & gt; # & lt; कक्षा: # & lt; Foo: 0x1fc7fa0 & gt; & gt;"    

No comments:

Post a Comment