रूबी में अनन्तता कैसे व्यक्त करें?


जवाबों:


187

यदि आप माणिक 1.9.2 का उपयोग करते हैं, तो आप उपयोग कर सकते हैं :

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true

या आप निम्नलिखित का उपयोग करके अपना खुद का कंटीन्यू बना सकते हैं *:
मैंने जाँच की है कि रूबी 1.8.6, 1.8.7 और 1.9.2 में आपके पास फ्लोट.इन है?

PositiveInfinity = +1.0/0.0 
=> Infinity

NegativeInfinity = -1.0/0.0 
=> -Infinity

CompleteInfinity = NegativeInfinity..PositiveInfinity
=> -Infinity..Infinity

* मैंने इसे रूबी 1.8.6 और 1.9.2 में सत्यापित किया है


2
सही। मैंने किसी भी पूर्णांक और उस मान के बीच तुलना करने की कोशिश की और यह ठीक काम कर रहा है। मैं अभी सोच रहा हूं कि क्या यह सुरक्षित है!
अमोकेरेन चेंटिर

1
रूबी में इन्फिनिटी के गुणों का वर्णन करते हुए यहां एक अच्छा लेख है (0 से विभाजित करके इन्फिनिटी सहित): nithinbekal.com/posts/ruby-infinity - आपको यह विचार देना चाहिए कि यह सुरक्षित है या नहीं। (क्या यह मूल्य के लिए है, IMHO संख्यात्मक इन्फिनिटी मूल्यों के साथ खिलवाड़ कर रहा है वस्तुतः कभी भी सुरक्षित या सही मायने में जरूरी नहीं है कि आप जिस प्रोग्रामिंग भाषा का उपयोग कर रहे हैं, जब तक कि आप वास्तविक गणित से संबंधित काम नहीं कर रहे हों)
एंड्रयू फॉल्कनर

यह बहुत अच्छा है, धन्यवाद, मेरा मानना ​​है कि आप -Float::INFINITYनकारात्मक अनंत के लिए भी कर सकते हैं ।
सालेह रस्तानी

97

कोई कीवर्ड नहीं, लेकिन 1.9.2 में इसके लिए एक स्थिरांक है:

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true

+1, मुझे यह महसूस नहीं हुआ कि यह 1.9.2 में था। मैंने अपना उत्तर लोगों को आपके उत्तर के लिए निर्देशित कर दिया है यदि वह वह संस्करण है जिसे वे लक्षित कर रहे हैं।
मैट

6

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/bigdecimal/rdoc/BigDecimal.html#label-Infinity

1.9.3p429 :025 > BigDecimal('Infinity')
 => #<BigDecimal:7f8a6c548140,'Infinity',9(9)>
1.9.3p429 :026 > BigDecimal('-Infinity')
 => #<BigDecimal:7f8a6a0e3728,'-Infinity',9(9)>
1.9.3p429 :027 > 3 < BigDecimal('Infinity')
 => true

1.9.3p429 :028 > BigDecimal::INFINITY
 => #<BigDecimal:7f8a6ad046d8,'Infinity',9(9)>

साथ ही, IMHO, बेहतर काम करता है और फिर फ्लोट :: इन्फिनिटी
अलेक्जेंडर गोर्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.