que tienen una serie @number = [1,2,3,4,5,6,7,8,9]
Ahora, quiero cambiar aleatoriamente el contenido gama ... algo como por ejemplo: [5,3,2,6,7,1,8]
favor me guía de cómo proceder con ella.asignaron al azar a elementos de la matriz
Respuesta
Utilice el método shuffle
...
irb(main):001:0> [1,2,3,4,5].shuffle
=> [3, 4, 2, 5, 1]
loop n times
i = random array index
j = random array index
swap elements i and j
end
No se garantiza que Random proporcione resultados correctamente distribuidos. Por lo tanto, al intercambiar elementos con dos índices aleatorios, puede obtener una matriz con bloques de secuencias sin cambios en el medio. Debe aumentar i de 0 a ny tomar la opción aleatoria j para asegurarse de que * todos los elementos * se intercambien al menos una vez. –
horrible. Incluso e impar 'n' da dos conjuntos diferentes de permutaciones. Es muy triste, pero aún así algunos maestros enseñan a los estudiantes sobre este método ... ¡Nunca hagas eso! – Nakilon
@Nakilon: ¿De qué estás hablando? ¿Por qué es importante si n es par o impar? – RyanHennig
el comando devuelve una versión shuffle
aleatorizado de una matriz
por ejemplo:
[1,2,3].shuffle => [2,3,1]
Funciona en 1.8.7p249 –
y si desea aleatorizar en su lugar, puede simplemente escribir '@ number.shuffle!' – Peter
Si está utilizando la versión antigua de ruby ... esto funcionará
def randomize(array)
b = []
array.length.downto(1) { |n|
b.push array.delete_at(rand(n))
}
b
extremo
a = [1,2,3,4,5] b = randomize (a) impresión b
[1,2,3,4,5,6,7,8,9].sort_by {rand}[0,9]
=> [5, 7, 3, 8, 9, 4, 2, 1, 6]
bueno para 1.8.6 :) pero ahora desactualizado! – horseyguy
- 1. Escoja múltiples elementos al azar de una lista en Java
- 2. python ordena al azar elementos del mismo valor
- 3. C# A Bigint al azar generador de
- 4. "NSSet allObjects" ¿ordena al azar?
- 5. selectas filas al azar a través de la APP
- 6. Elige m elementos al azar de un vector que contiene n elementos
- 7. Python | Cómo añadir elementos a una lista azar
- 8. agregar elementos a la matriz de objetos
- 9. Cómo agregar elementos a la matriz C++?
- 10. GetRequestStream arroja la excepción Timeout al azar
- 11. jQuery, al azar para div
- 12. Agregar elementos al último elemento de la matriz
- 13. Classcastexception se produce al azar
- 14. Secuencia al azar Python con semilla
- 15. Seleccione un elemento al azar, sin saber el número total de elementos
- 16. Agregar al azar a un bucle de animación css3
- 17. seleccionar filas n al azar a través de linq2sql
- 18. número al azar de -9 a 9 en C++
- 19. Cómo asignar al azar filas de Excel
- 20. Como llegar elementos aleatorios de una matriz
- 21. VS2010 cambios de puerto específicos al azar
- 22. Eclipse usa 100% de CPU al azar
- 23. sesiones de Symfony 1.4 perdidas al azar
- 24. XPath selecciona un nodo hijo al azar
- 25. Reproducciones de audio HTML5 al azar
- 26. Ordenar elementos de la matriz
- 27. Cómo observar la adición de elementos a la matriz
- 28. Mover un objeto al azar alrededor de la pantalla
- 29. Cargar CSS al azar en la página de actualización
- 30. ¿Cuál es la forma correcta de seleccionar un elemento al azar de una matriz al escribir fábricas con factory_girl?
Duplicar http://stackoverflow.com/questions/1816378/how-to-randomly-sort-scramble-an-array-en-ruby – Nakilon
Su función hipotética dejó caer 2 elementos de la matriz. Incluso 'shuffle' no puede hacer eso, ¡gg! – Nakilon