में संरक्षित विधियों तक पहुंचने के लिए मैं रूबी में अपने आप को संशोधित करने के लिए काम करने की कोशिश कर रहा हूं। मेरे पास है:रूबी
class Person
def initialize (first_name, last_name, age)
@first_name=first_name
@last_name=last_name
@age=age
end
def show()
puts @first_name
puts @last_name
puts @age
end
protected
def compare(other)
self.instance_variable_get(:@age)<=>other.instance_variable_get(:@age)
end
end
p1=Person.new("Some", "Body", "99")
p1.show
puts "\n"
p2=Person.new("Who", "Ever", "21")
p2.show
puts "\n"
p1.compare(p2)
मैं त्रुटि "सुरक्षित विधि` तुलना '# (NoMethodError) के लिए बुलाया " मैं वर्ग के भीतर और बिना से फोन कर की कोशिश की है हो रही है। मैंने यहां बिना किसी संस्करण को चिपकाया। मैंने सोचा कि एक ही कक्षा के अन्य वस्तुओं पर संरक्षित तरीकों को बुलाया जा सकता है। इस त्रुटि का क्या अर्थ है और मैं यहां एक सुरक्षित विधि का सही तरीके से उपयोग कैसे करूं? आपके सहयोग के लिए धन्यवाद।
मैं देख रहा हूँ, इसलिए एक संरक्षित और निजी वर्ग ही नहीं संरक्षित में मतभेद की एक उपवर्ग के साथ प्रयोग के लिए अनुमति देता है मुख्य वर्ग, लेकिन न तो सीधे पहुंच योग्य हैं। बहुत बहुत धन्यवाद, वह मुझे पागल कर रहा था। –