2012-07-30 17 views
5

इस set/get के साथ क्या गलत है?रूबी क्लास सेट/

class Pupil 
    def name 
    @name 
    end 

    def name=(name) 
    @name = name 
    end 

    def age 
    @age 
    end 

    def age=(age) 
    @age 
    end 
end 
इसके अलावा एक ही पर

, अगर वहाँ केवल सेक्स के लिए बच्चे में तैयार हो जाओ विधि होगा 3 तर्क, नाम, आयु, लिंग, के साथ एक बच्चे वर्ग था। क्या आप सेट/विधि प्राप्त कर सकते हैं और बाल वर्ग में आरंभ कर सकते हैं।

+4

'name' ठीक है प्रदान करता है के साथ सेट कर सकते हैं। 'आयु =' वह नहीं करता जो इसे माना जाता है। –

+0

धन्यवाद सर्जीओ तुलेंटसेव। – Selvam

उत्तर

13
def age=(age) 
    @age 
    end 

होना चाहिए

def age=(age) 
    @age = age 
    end 

आप भी अपने कोड प्राप्त करने की जगह सुंदर/attr_accessor जो अपने आप में एक गेटर/सेटर

class Pupil 
    attr_accessor :age,:name 
end 
+0

@ सेल्वम, आगे बढ़ो? – PriteshJ

+0

PriteshJ। धन्यवाद। मैंने इसे हल किया। (असल में, मैं अपने मूल प्रश्न के लिए अतिरिक्त प्रश्न संपादित करता हूं।) – Selvam

+0

ठीक है, 'attr_accessor' वह है जिसे मैं ढूंढ रहा था। रुबी सीखने वाले व्यक्ति के रूप में आपको यह जानकारी आधिकारिक दस्तावेज़ीकरण में कहां मिलती है? मैं http://ruby-doc.org/ देख रहा हूं, लेकिन यह मुश्किल से इसे 'मॉड्यूल' ('कक्षा' नहीं) के तहत उल्लेख करता है और यहां तक ​​कि संपत्ति, गेटटर, सेटर जैसे शब्दों का भी उल्लेख नहीं है ... यह एक तरह का है वहां से इन अवधारणाओं को सीखना मुश्किल है। अनिवार्य रूप से मैं आधिकारिक पायथन ट्यूटोरियल के रूबी समकक्ष की तलाश में हूं - https://docs.python.org/3/tutorial/। – metakermit

1

आप @age = age सेट करना भूल गए हैं।

+0

फिल एक्विलिना धन्यवाद। – Selvam