루비로 무한대를 표현하는 방법?


답변:


187

루비 1.9.2를 사용하는 경우 다음을 사용할 수 있습니다 .

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

또는 다음을 사용하여 자신의 상수를 만들 수 있습니다 *
Ruby 1.8.6, 1.8.7 및 1.9.2에서 Float.infinite 가 있는지 확인했습니다 . .

PositiveInfinity = +1.0/0.0 
=> Infinity

NegativeInfinity = -1.0/0.0 
=> -Infinity

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

* Ruby 1.8.6 및 1.9.2에서이를 확인했습니다.


2
권리. 정수와 해당 값을 비교하려고 시도했지만 제대로 작동하는 것 같습니다. 이것이 안전한지 지금 궁금합니다!
— Amokrane Chentir

1
여기에 Ruby에서 Infinity의 속성 (0으로 나누기를 통해 파생 된 Infinity 포함)을 설명하는 멋진 기사가 있습니다. nithinbekal.com/posts/ruby-infinity- 안전한지 여부를 알려줍니다. (가치있는 것에 대하여, 실제 수학 관련 작업을 수행하지 않는 한, 숫자 무한대 값을 사용하는 IMHO가 실제로 어떤 프로그래밍 언어를 사용하든 상관없이 실제로 안전하거나 실제로 필요한 것은 아닙니다)
— Andrew Faulkner

감사 -Float::INFINITY합니다. 음의 무한대도 가능합니다.
— Saleh Rastani

97

키워드는 없지만 1.9.2에는 상수가 있습니다.

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

+1, 이것이 1.9.2에 있다는 것을 몰랐습니다. 사람들이 귀하의 답변을 대상으로하는 버전 인 경우 귀하의 답변으로 안내하는 답변을 업데이트했습니다.
— Matt

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.