Как объявить 8-битное целое число без знака в рубине? - PullRequest
2 голосов
/ 26 августа 2009

В C ++ вы можете сделать:

uint8 foo_bar

Как бы мы сделали то же самое в рубине? Есть альтернативы?

Этот пост кажется близким к нему Может быть, кто-то может объяснить?

Ответы [ 2 ]

11 голосов
/ 26 августа 2009

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

Ruby имеет динамическую типизацию, поэтому нельзя заставить переменную содержать только 8-разрядные целые числа без знака (так же, как нельзя заставить переменную содержать только строковые значения и т. Д.).

0 голосов
/ 26 августа 2009

Вы не объявляете типы в Ruby. Язык динамически типизирован.

...