Как объявить 8-разрядное беспингевое целое число в Ruby?
Вопрос
В C ++ вы можете сделать:
uint8 foo_bar
Как бы мы сделали то же самое в Руби? Какие -нибудь альтернативы?
Этот пост кажется близким к нему Может, кто -то может объяснить?
Решение
Ruby отбросит внутреннее хранилище целых чисел, поэтому вам не нужно беспокоиться об этом.
Если вы назначите целое число с переменной, Ruby будет иметь дело с внутренними, распределяя память при необходимости. Меньшие целые числа имеют тип Fixnum
(хранятся в одном словом), более крупные целые числа имеют тип Bignum
.
a = 64
a.class #=> Fixnum; stored in a single word
a += 1234567890
a.class #=> Bignum; stored in more than a single word
Рубина динамически напечатана, поэтому вы не можете заставить переменную содержать только без знака 8-битных целых чисел (так же, как вы не можете заставить переменную, содержащую только строковые значения и т. Д.).
Другие советы
You don't declare types in Ruby. The language is dynamically typed.