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


답변:


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.