Tuesday 15 April 2014

Is it possible to compare private attributes in Ruby? -


मैं सोच रहा हूँ:

  class X def new () @ ए = 1 अंत डीईफ़ एम (अन्य) @ ए == अन्य @ ए एंड एंड एक्स = एक्स.न्यू () वाई = एक्स.न्यू () एक्सएम (वाई)   

लेकिन यह नहीं है काम करता है।

त्रुटि संदेश है:

  वाक्यविन्यास त्रुटि, अप्रत्याशित tIVAR  

मैं कैसे दो निजी विशेषताओं की तुलना कर सकते हैं उसी से

कई तरीके हैं

गेटर:

< पूर्व> वर्ग X attr_reader: एक def m (अन्य) a == अन्य। End end

instance_eval :

  class X def m (other) @a == अन्य.instance_eval {@a} एंड एंड  

example_variable_get :

  class X def m (other) @a == other.instance_variable_get: @a end end  

मुझे नहीं लगता कि रूबी की "मित्र" या "सुरक्षित" की एक अवधारणा है उपयोग, और यहां तक ​​कि "निजीकरण" ई "आसानी से चारों ओर काट रहे हैं एक ग्रहक का प्रयोग केवल एक पठन-योग्य गुण बनाता है, और instance_eval का अर्थ है कि आपको आवृत्ति चर का नाम जानना होगा, इसलिए सम्मिलन समान है।


No comments:

Post a Comment