Pregunta

En C ++ puedes hacer:

uint8 foo_bar

¿Cómo haríamos lo mismo en Ruby? ¿Alguna alternativa?

Esta publicación parece cercana a ella ¿Quizás alguien pueda explicar?

¿Fue útil?

Solución

Ruby abstrae el almacenamiento interno de enteros, para que no tenga que preocuparse por ello.

Si asigna un entero a una variable, Ruby se ocupará de las partes internas, asignando la memoria cuando sea necesario. Los enteros más pequeños son de tipo Fixnum (almacenado en una sola palabra), los enteros más grandes son de tipo Bignum.

a = 64
a.class  #=> Fixnum; stored in a single word
a += 1234567890
a.class  #=> Bignum; stored in more than a single word

Ruby se escribe dinámicamente, por lo que no puede obligar a una variable a contener solo enteros de 8 bits sin firmar (al igual que no puede forzar una variable a contener valores de cadena, etc.).

Otros consejos

No declaras tipos en Ruby. El lenguaje se escribe dinámicamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top