lunes, 16 de abril de 2007

Números

Cómo están?
Ahora vamos a empezar a trabajar sobre los números, una parte importante de cualquier lenguaje de programación. En Ruby tenemos montones de tipos: de 32 Bits, enteros largos, enteros cortos, etc. Cómo Ruby intenta resolverlo todo por su cuenta, muchas veces no aparecen (es decir, se asignan automáticamente). Por eso es necesario conocer un poco cómo funciona esa asignación, para no generar gastos de memoria innecesarios.

Para este fin, podemos aplicar el método .class (qué devuelve la clase "natural" del objeto):

irb(main):001:0> 1000.class
=> Fixnum
irb(main):002:0> 100000000000000000.class
=> Fixnum
irb(main):003:0> 1000000000000000000000000000000000000000000000000000000000000.class
=> Bignum
irb(main):004:0> (2**30).class
=> Fixnum
irb(main):005:0> (2**300).class
=> Bignum
irb(main):006:0> 0.01.class
=> Float
irb(main):007:0> 1.class
=> Fixnum
irb(main):008:0> 1.0.class
=> Float
irb(main):009:0>

De esta forma podemos ver cómo la clase natural varía según el tamaño. Es importante notar que Ruby toma la convención del punto para saber si un número es Float o nó. Esto es: si el número 1 se escribe sin punto, es un entero, pero si se escribe 1.0 es un decimal, aunque el número se redondeé.

No hay comentarios: