Wie deklariere ich 8-Bit-Unsigned Ganzzahl in Ruby?
Frage
In C ++ können Sie:
uint8 foo_bar
Wie würden wir das Gleiche in Ruby tun? Irgendwelche Alternativen?
Dieser Beitrag scheint ihm nahe zu sein Vielleicht kann jemand erklären?
Lösung
Ruby abstraktiert die interne Speicherung von Ganzzahlen, sodass Sie sich keine Sorgen machen müssen.
Wenn Sie einer Variablen eine Ganzzahl zuweisen, befasst sich Ruby mit den Interna, wobei bei Bedarf Speicher zugewiesen wird. Kleinere Ganzzahlen sind vom Typ Fixnum
(In einem einzigen Wort gespeichert) größere Ganzzahlen sind vom Typ Bignum
.
a = 64
a.class #=> Fixnum; stored in a single word
a += 1234567890
a.class #=> Bignum; stored in more than a single word
Ruby wird dynamisch eingetragen, sodass Sie eine Variable nicht dazu zwingen können, nur nicht signierte 8-Bit-Ganzzahlen zu enthalten (so wie Sie eine Variable nicht dazu zwingen können, nur Stringwerte usw. zu enthalten).
Andere Tipps
Sie deklarieren keine Typen in Ruby. Die Sprache wird dynamisch getippt.