a = Numeric.new # doesn't take an argument
मैं इसके लिए उपयोग के मामले की कल्पना नहीं कर सकता। क्या आप?रुबी के पास संख्यात्मक क्यों है? नया?
a = Numeric.new # doesn't take an argument
मैं इसके लिए उपयोग के मामले की कल्पना नहीं कर सकता। क्या आप?रुबी के पास संख्यात्मक क्यों है? नया?
Class
वर्ग एक new
उदाहरण विधि को परिभाषित करता है। और Numeric
पर वर्ग विधि केवल उसमें से एक धारक है - यह कुछ भी नहीं करता है - यह उन निवासी अंगों में से एक के रूप में सोचें जो जानवरों को दूर के पूर्वजों से प्राप्त करते हैं - जैसे मनुष्यों पर परिशिष्ट।
ध्यान दें कि Numeric
ऐसे Fixnum
के रूप में और Float
और उनके निकट संबंधी explictly new
विधि undefine की उपवर्गों। मुझे लगता है कि उन्होंने Numeric
के लिए इसे अपरिभाषित करने से परेशान नहीं किया क्योंकि इस वर्ग के प्रत्यक्ष उदाहरण वास्तव में मौजूद नहीं हैं, और इसे आसपास रखने में कोई हानि नहीं होती है।
हाँ, कि कैसे मुझे पता चला है। फ्लोट.न्यू ('NaN') की कोशिश कर, irb में चारों ओर खेला, विफल (NoMethodError)। न्यूमेरिक.न्यू ("एनएन ') के लिए जा रहे हैं, जो एक बेकार (?) संख्यात्मक के साथ समाप्त हो रहा है। – steenslag
रूबी में सबकुछ एक वस्तु है, यहां तक कि कक्षाएं भी हैं। तो Numeric
के लिए कोई कन्स्ट्रक्टर नहीं होने का मतलब होगा कि Numeric
कक्षा बिल्कुल नहीं है!
the docs पर एक नज़र डालें। यह बस एक बेस क्लास है। आप कभी नहीं करेंगे (ठीक है, यह बेहद असंभव होगा, वैसे भी :)) इसे सीधे इस्तेमाल करें।
यह गलत है। कई रूबी क्लासेस में 'नई' विधि नहीं है, देखें: ट्रू क्लास, फाल्स क्लास, नील क्लास, फिक्सनम, फ्लोट, आदि – horseyguy
एह, मामूली जानकारी। यदि कक्षा चाहती है तो एक वर्ग इसे 'नई' विधि को परिभाषित कर सकती है। संख्यात्मक नहीं है क्योंकि आप इसे उपclass करने में सक्षम होने के लिए हैं और इसे आधार के रूप में उपयोग करें। 'TrueClass' और इस तरह का उपयोग इस तरह नहीं किया जाना चाहिए। – rfunduk
कि 'मामूली विस्तार' आपके इस बोल्ड स्टेटमेंट को पूरी तरह से अमान्य बनाता है: "इसलिए न्यूमेरिक के लिए कोई कन्स्ट्रक्टर नहीं होने का मतलब होगा कि कोई संख्यात्मक वर्ग नहीं है!" – horseyguy
आप उस फैशन में संख्यात्मक कक्षा का कभी भी उपयोग नहीं करेंगे। यह रूबी में सभी संख्यात्मक प्रकारों के लिए बेस क्लास है।
रूबी के संख्यात्मक कक्षाएं एक पूर्ण सांख्यिक टॉवर के रूप में, संख्या के अभ्यावेदन और संख्यात्मक अभ्यावेदन के कई प्रकार प्रदान करते हैं।
स्रोत: Ruby Tips: Numeric Classes
लेकिन तुम समझा नहीं था क्यों 'new' अभी भी मौजूद है :) – horseyguy
तुम्हारा मतलब 'Numeric.new' नहीं' संख्यात्मक # new' .... '#' का अर्थ है 'उदाहरण विधि' (लेकिन इस मामले में 'new' एक वर्ग विधि है) – horseyguy
नहीं जानते हैं। शीर्षक सही धन्यवाद। – steenslag