क्या मैं कक्षा में एक विधि कह सकता हूं जो कक्षा या उसके माता-पिता का हिस्सा नहीं है? - माणिक

मैं अपनी परियोजना में एक त्रुटि का कारण खोजने की कोशिश कर रहा हूं। मुझे लगता है कि इस प्रश्न का विषय कारण है। यहां कुछ कोड है जो समस्या का वर्णन करता है:

def self.foo()
content = 10
return content
end

class MyClass
def self.bar()
number = self.foo()
puts number
end
end

तो, कक्षा के बाहर कक्षा के बाहर विधि को कॉल करना संभव है? मैंने जो कोशिश की है उससे यह काम नहीं करता है, लेकिन मुझे यकीन नहीं है।

उत्तर:

उत्तर № 1 के लिए 1

तथ्य यह है कि आप उपयोग करते हैं self एक वर्ग विधि संदर्भ में इसका मतलब है कि आप इसे कक्षा में कॉल करना चाहते हैं। चूंकि उस विधि में उस विधि को परिभाषित नहीं किया गया है, इसलिए आपको एक त्रुटि मिलेगी। यदि आप हटा देते हैं self. आमंत्रण का हिस्सा, यह सफल होगा।

def foo
10
end

class Bar
def self.baz
puts foo
end
end

हालांकि, यह मुख्य क्षेत्र में परिभाषित विधियों के कारण काम करेगा। यदि सब कुछ एक मॉड्यूल में संलग्न था, तो आपको स्पष्ट रूप से यह बताना होगा कि विधि कहां स्थित है:

module Bong
def self.foo
10
end

class Bar
def self.baz
puts Bong.foo
end
end
end

जवाब के लिए 2 № 2

इसे देखो

class Class2
def self.method()
content = 10
return content
end
end
class Class
def self.classmethod()
number = Class2.method()
puts number
end
end

संबंधित सवाल
सबसे लोकप्रिय