2010-07-26 9 views
24

क्या सभी रूबी ऑपरेटरों में कहीं भी एक सूची है जिसे ओवरराइड किया जा सकता है? (वे नहीं हैं जो नहीं कर सकते हैं!)रूबी ऑपरेटरों की सूची जिसे ओवरराइड/कार्यान्वित किया जा सकता है

+0

** अधिभार ** विभिन्न कार्यों के लिए एक ही विधि नाम का उपयोग है, जहां विधि केवल इसके हस्ताक्षर से अलग है। दरअसल रूबी में यह संभव नहीं है। ओवरराइडिंग या फिर से परिभाषित करना उचित शब्द है। –

+0

विस्तार के लिए धन्यवाद, @platzhirsch। मैंने सवाल संपादित कर लिया है। अजीब कैसे इसे आम तौर पर ऑपरेटर ओवरलोडिंग कहा जाता है, नहीं? – aaaidan

+0

वैसे, मेरे जैसे, हमेशा शब्दों और उनके अर्थ के उपयोग के संबंध में पिक्य हो सकते हैं :-) इसके बाद यह सी ++ जैसी भाषाओं से लिया गया है, जहां यह शायद वही करता है, लेकिन यह विभिन्न अर्थशास्त्र पर आधारित है। –

उत्तर

31

यहां a table of the Ruby operators है।

जो कि तरीके हैं और overloadable हैं:

[ ] [ ]= Element reference, element set 
** Exponentiation 
! ~ + -  Not, complement, unary plus and minus (method names for the last two are [email protected] and [email protected]) 
*/% Multiply, divide, and modulo 
+ -  Plus and minus 
>> << Right and left shift 
& Bitwise `and' 
^ |  Bitwise exclusive `or' and regular `or' 
<= < > >= Comparison operators 
<=> == === != =~ !~  Equality and pattern match operators (!= and !~ may not be defined as methods) 

तालिका 2001 कुदाल से मिट्टी खुरपना किताब से था, लेकिन है कि रूबी 1.9 कुदाल से मिट्टी खुरपना किताब में के रूप में ही मेज है - मानने का कोई कारण इस सेट कि इंफिक्स ऑपरेटरों का कभी भी बदल जाएगा।

+0

"वे हैं जो विधियों और अधिभार योग्य हैं," मुझे लगता है कि आप केवल उन ऑपरेटरों को अधिभारित कर सकते हैं जो विधियां हैं, नहीं? साथ ही, "शुद्ध" ऑपरेटरों को अधिभारित नहीं किया जा सकता है, जबकि कोई भी शब्द-जैसे कीवर्ड (उदा। 'परिभाषित?', 'नहीं ',' या',' start') का दुरुपयोग कर सकता है, बिना किसी इन्फिक्सी भलाई के नए तरीकों के नाम। – fny

+1

असल में,! = और! ~ ओवरलोड/परिभाषित किया जा सकता है, भले ही पुराना पिकैक्स कहता है कि आप नहीं कर सकते। 2008 में वापस मेलिंग सूची पर इसके बारे में एक शिकायत थी और मैट ने टिप्पणी की कि रुबी लचीला था। –

संबंधित मुद्दे

 संबंधित मुद्दे