Números aleatorios

Ruby tiene con un generador de números aleatorios: el método rand. Usando rand se obtiene un número aleatorio x, tal que 0 <= x < 1. Si se le dá un parámetro, por ejemplo rand(5), entonces se obtiene un número entero entre 0 y 4 (ambos incluidos).

def carta_aleatoria
  palos = %w{ corazones treboles picas diamantes}
  numero = %w{ 1 2 3 4 5 6 7 8 9 10 J Q K }
 
  #Quiero una carta aleatoria que tiene:
  #  -un palo aleatorio
  #  -un número aleatorio
 
  #palo aleatorio
  num = palos.length
  palo_aleat = rand(num)
 
  #numero aleatorio
  num_aleat = rand(numero.length)
 
  puts numero[num_aleat] + ' de ' + palos[palo_aleat] 
end
 
#una carta aleatoria
carta_aleatoria
 
#10 cartas aleatorias
10.times do 
  carta_aleatoria
end
 
#NOTA: la variable del bucle, 
#como no se usa en el bloque
#no se define.
Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution 3.0 License