Почему функция размера рубина для номера, возвращающего выход, как это?Функция размера для ruby Fixnum class
1000000.size # => 8
99999999999999999999.size # => 9
Почему функция размера рубина для номера, возвращающего выход, как это?Функция размера для ruby Fixnum class
1000000.size # => 8
99999999999999999999.size # => 9
Рубин внутренне использует две различные структуры для хранения целых чисел - Fixnum
и Bignum
. Первый используется для меньшего числа и отображает непосредственно на длинное целое число в архитектуре хоста. Он более быстрый и постоянный по размеру, но ограниченный тем, насколько он может хранить. Последний используется для хранения произвольно больших чисел, и его размер зависит от того, насколько велика цифра.
1000000.class # => Fixnum
99999999999999999999.class # => Bignum
Преобразование сделано внутренне. На самом деле с ruby 2.4.0, будет только один класс - Integer
.
Можете ли вы рассказать мне, что такое действие, выполняемое функцией размера? –
@Vivakkumar в основном говорит, сколько памяти (в байтах) используется для хранения номера. – ndn
Является ли это возвратом побитового представления памяти? –
Это очень помогло бы разработчикам Ruby, если бы вы точно указали *, какую часть документации метода 'size' вы не понимаете, чтобы они могли улучшить ее для будущих читателей. –