कहो मैं कक्षा Player
है और मैं अगर एक खिलाड़ी पर हमला किया है एक बूलियन विधि जाँच करना चाहते हैं:माणिक तरीकों में एक प्रश्न चिह्न का उपयोग करना
SyntaxError: (irb):14: syntax error, unexpected '='
@attacked? = false
^
from /usr/bin/irb:12:in `<main>'
हटाना:
class Player
attr_accessor :name, :health, :attacked?
def initialize(name)
@name = name
@health = 100
@attacked? = false
end
end
मैं एक वाक्य रचना त्रुटि मिलती है attacked
से प्रश्न चिह्न समस्या को हल करता है, लेकिन मैंने सोचा कि यह मेरे कोड में attacked?
रखने के लिए बेहतर सम्मेलन का पालन करेगा। प्रश्न चिह्न से गुजरना एक बड़ा सौदा नहीं है, लेकिन zero?
और nil?
सम्मेलन क्यों हैं @variables?
और def methods?=
अमान्य हैं?
'@ हमला 'एक उदाहरण चर है, एक विधि नहीं। '@attacked = false'; ... 'डीफ हमला किया ?; @हमला किया; अंत ' –
मेरा अनुमान होगा कि आपके पास चर नाम के हिस्से के रूप में प्रश्न चिह्न नहीं हो सकता है। यह केवल विधियों के लिए है। इसके अलावा, मुझे एक सेटर के साथ एक प्रश्न-चिह्न विधि याद नहीं है। वे सभी गेटर्स हैं। –
यह एक अच्छा मुद्दा है। वे सभी गेटर्स हैं। एक प्रश्न चिह्न के साथ एक सेटटर बनाना "हमला किया? =" विधि बनाता है, जो भी अवैध वाक्यविन्यास है। तो मेरे कोड में एक अवैध चर नाम और एक अमान्य विधि नाम भी होगा। – rubyuser1357796