¿Cómo puedo generar un color hexadecimal aleatorio con ruby?Ruby, generar un color hexadecimal aleatorio
Respuesta
Aquí está una manera:
colour = "%06x" % (rand * 0xffffff)
Puede generar cada componente de forma independiente:
r = rand(255).to_s(16)
g = rand(255).to_s(16)
b = rand(255).to_s(16)
r, g, b = [r, g, b].map { |s| if s.size == 1 then '0' + s else s end }
color = r + g + b # => e.g. "09f5ab"
Esto es considerablemente más personalizable, pero la solución de Jeremy es mucho más concisa. – Benson
Para longitud de bytes arbitraria (reemplace 3 w/número de bytes): '" ".tap {| s | 3.times {s << ("% 02x"% rand (255))}} ' –
pero esta sigue siendo una buena manera de hacerlo, pulgares arriba para facilitar la lectura. –
SecureRandom.hex(3)
#=> "fef912"
El módulo SecureRandom
es parte de la biblioteca estándar de Ruby
require 'securerandom'
Es autoloade d en los carriles, pero si usted está usando Rails 3.0 o inferior, tendrá que utilizar
ActiveSupport::SecureRandom.hex(3)
Si va a utilizar esta opción, deberá anteponer el hexagonal con "#". Funciona muy bien, solo que no olvides el símbolo hash al principio. –
- 1. ¿Generar hex de color aleatorio en Objective-C?
- 2. java- cómo generar un valor hexadecimal aleatorio dentro del rango de valores especificado
- 3. color hexadecimal de UIColor
- 4. Cómo convertir color hexadecimal hexadecimal de 3 dígitos a color hexadecimal de 6 dígitos
- 5. Cómo conseguir un color de hexadecimal secuencia del color
- 6. generar un número aleatorio con 7 dígitos
- 7. Algoritmo para generar un número aleatorio
- 8. usando rand para generar un número aleatorio
- 9. ¿Generar un número aleatorio dentro del rango?
- 10. ¿Cómo generar un número aleatorio en Bash?
- 11. Generar un número aleatorio de N-dígitos
- 12. generar un número aleatorio corto en java?
- 13. UIColor a hexadecimal (color web)
- 14. Java Generar número aleatorio {-1,0,1}
- 15. crear un color hexadecimal basado en una cadena con JavaScript
- 16. Ruby: hexadecimal en expresiones regulares
- 17. Decode cadena hexadecimal en Ruby
- 18. Generar un entero aleatorio en un rango en Haskell
- 19. Convirtiendo system.windows.media.brush al código de color hexadecimal
- 20. CSS - RGB o hexadecimal para el color
- 21. Convertir un valor de color RGB en hexadecimal
- 22. Cómo generar valor aleatorio negativo en python
- 23. Algoritmo para generar polígono 2D aleatorio
- 24. Android/Java: Convierta cualquier cadena en color (hexadecimal)
- 25. Matlab elige el color aleatorio para trazar
- 26. Emacs: tema de color aleatorio cada hora?
- 27. Algoritmo para generar orden aleatorio de elementos
- 28. Usando matriz para generar texto aleatorio
- 29. cómo generar un número aleatorio de 0.5 a 1.0
- 30. ¿Cómo generar un número aleatorio "grande" en Python?
¿Podría alguien explicarlo (especialmente el "% 06x"? – Dorian
El [método%] (http://ruby-doc.org/core-1.9.3/String.html#method-i-25) en String utiliza el cadena como una especificación de formato para el argumento. "% 06x" significa: formatear un número como hexadecimal, 6 caracteres (dígitos en este caso) de ancho, 0 acolchado. –