Я хотел узнать, сколько памяти используется (в байтах) по типам данных. Я вызвал метод size
на целое число. Так как я бегу 64 битной машине, он возвращается 8.Поиск выделения памяти из массивов Ruby
1.size # => 8
Аналогично, для строк и массивов, он возвращается 1 байт на символ/целое число.
'a'.size # => 1
['a'].size # => 1
['a', 1].size # => 2
- Почему не существует никакого метода, размер поплавка?
- Не должно быть гетерогенных массивов, таких как
['a', 1]
return1 + 8 = 9 bytes
(1 для char, 8 для целых чисел)? - Правильно ли вызывать
size
для проверки памяти, выделенной для типов данных ruby?
В случае массива метод размера - это просто псевдоним метода длины массива (который представляет собой просто количество элементов в массиве). аналогично, в случае строк метод размера - это просто длина символа строки. – rakeshbs
В заголовке вы указываете, что массив не имеет 'size'. В тексте вы указываете, что float его не имеет. Неясно, что вы имеете в виду. – sawa
'' € π'.size' возвращает '2'; поэтому '.size' подсчитывает количество * символов * в строках, а не * bytes *. – Carpetsmoker