Integer와 Fixnum의 차이점은 무엇입니까?
Fixnum
클래스가 클래스에서 상속 된다는 것을 알고 Integer
있습니다. 그러나 그들 사이의 실제 차이점은 무엇입니까? 때때로를 사용 Fixnum
하고 때로는 Integer
대신 사용하는 사용 사례가 있습니까?
당신은 결코 "사용"하지 않습니다 Integer
. 자식 ( Fixnum
및 Bignum
)에 메서드 를 부여하는 작업을 수행하는 추상 클래스입니다 . 사실상 어떤 상황에서도 객체의 클래스를 요청하고 그것이 Integer
.
업데이트 : Ruby 2.4부터 Fixnum
및 Bignum
클래스는 사라졌고 Integer
. 똑같은 최적화가 여전히 존재하지만, 프로그래머에게 보이지 않는 "적절한"컴파일러 최적화로 취급됩니다.
이것은 다소 혼란 스럽습니다. Integer
는 IS 실제 당신에 대해 생각해야한다는 클래스. Fixnum
기본적으로 처음부터 프로그래머가 볼 수 없었던 성능 최적화입니다. (이를 YARV의 플로 넘 (flonums)과 비교하십시오. 이는 전적으로 VM 내부에서 최적화로 구현되고 프로그래머에게 노출되지 않습니다.)
기본적으로 Fixnum
s는 빠르고 Bignum
s는 느리며 구현은 자동으로 이들간에 앞뒤로 전환됩니다. 당신은 그것들 중 하나를 직접 요청하지 않으며, 정수가 a의 제한된 크기에 맞는지 여부에 따라 하나 또는 다른 것을 얻을 것 Fixnum
입니다.
참고 URL : https://stackoverflow.com/questions/21372649/what-is-the-difference-between-integer-and-fixnum
'program story' 카테고리의 다른 글
이것이 정의되지 않은 동작 인 이유는 무엇입니까? (0) | 2020.12.08 |
---|---|
Log4j2 구성에서 "상태"는 무엇을 의미합니까? (0) | 2020.12.08 |
WPF 응용 프로그램에 나타나는 이상한 블랙 박스 (0) | 2020.12.08 |
C ++에서 func ()와 (* this) .func ()의 차이점 (0) | 2020.12.08 |
파이썬에 대한 간단한 프로세스 기반 병렬 맵이 있습니까? (0) | 2020.12.08 |