Los Números en Ruby

Vamos a jugar un poco con números. En Ruby, los números que no contienen punto decimal se llaman integers y los que si contienen punto decimal se llaman números de punto flotante o simplemente floats. Observa el programa p002numeros.rb:

 1 =begin
 2  Números Ruby
 3  Operandos comunes:
 4  + suma
 5  - resta
 6  * multiplicación
 7  / división
 8 =end
 9 
10 puts 1 + 2
11 puts 2 * 3
12 
13 # División de enteros
14 # La aritmética de números enteros da como 
15 # resultado números enteros
16 
17 puts 3 / 2
18 puts 10 - 11
19 puts 1.5 / 2.6
20 

Los números enteros en Ruby son objetos de la clase Fixnum o Bignum. Los números decimales son objetos de la clase Float. Vamos a hablar en detalle acerca de clases más adelante.

Operandos y precedencia

Tabla de operandos ordenados por precedencia de mayor a menor.

:: Scope
[ ] Indices
** Exponente
+ - ! ~ Positivo, Negativo, (unary), Negación
* / % Multiplicación, División
+ - Suma, Resta
<< >> Logical shifts
& Bitwise y (and)
| ^ Bitwise o or, xor
> >= < <= Comparación
== === >=< != =~ !~ Igualdad, desigualdad
&& y Booleano (Boolean and)
|| o Booleano (Boolean or)
.. ... Operandos de rangos
= += -= Asignación
?: Decisión ternaria
not Negación Booleana
and or y, o Booleanos

a. Los operandos para incrementar y disminuir (++ y --) no están disponibles en Ruby. Tampoco las formas pre y post.
b. Los paréntesis funcionon de la misma manera que en la aritmética regular. Cualquier expresión que se encuentre dentro de paréntesis es evaluada primero (o, para ser más técnicos, tienen una precedencia mayor).

El operando de residuo % (modulus) funciona de la siguiente manera:

1 puts (5 % 3)    # da como resultado 2
2 puts (-5 % 3)   # da como resultado 1
3 puts (5 % -3)   # da como resultado -1
4 puts (-5 % -3)  # da como resultado -2 

Tarea: Escribe un progrgama en Ruby que calcule cuantos minutos hay en un año (no te preocupes por años bisiestos).