Jak mogę wygenerować losowy kolor hex z rubinem?Ruby, Wygeneruj losowy kolor heksadecymalny
Odpowiedz
Oto jeden ze sposobów:
colour = "%06x" % (rand * 0xffffff)
Można wygenerować każdy komponent niezależnie:
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"
Jest to znacznie bardziej konfigurowalny, ale rozwiązanie Jeremy'ego jest o wiele bardziej zwięzłe. – Benson
Dla dowolnej długości bajtu (zastąp 3 w/liczbę bajtów): '" ".tap {| s | 3.times {s << ("% 02x"% rand (255))}} ' –
ale nadal jest to świetny sposób na zrobienie tego, aprobaty dla czytelności. –
SecureRandom.hex(3)
#=> "fef912"
Moduł SecureRandom
jest częścią biblioteki standardowej Rubiego
require 'securerandom'
To autoloade d w Rails, ale jeśli używasz Rails 3.0 lub niższy, musisz użyć
ActiveSupport::SecureRandom.hex(3)
Jeśli zamierzasz użyć tej opcji, będziesz musiał hex z "#". Działa wspaniale, po prostu nie zapominaj o symbolu skrótu na początku. –
- 1. Ciąg Ruby # heksadecymalny błąd
- 2. CSS wybiera losowy kolor z tablicy
- 3. Jak utworzyć losowy ciąg szesnastkowy reprezentujący kolor?
- 4. Wygeneruj sekwencję alfanumeryczną w języku Ruby
- 5. Wygeneruj odpowiedź HTTP w języku Ruby
- 6. Instrukcja JMP - kod heksadecymalny
- 7. Google Maps KML: 8-cyfrowy kod heksadecymalny
- 8. Szyny Wygeneruj rzucanie Najmniejszy błąd?
- 9. Format ints na ciąg heksadecymalny
- 10. Java druk czterobajtowy numer heksadecymalny
- 11. Ruby Regex, aby dopasować kolor skali szarości
- 12. Wygeneruj klucz ze sznurka?
- 13. Konwersja duży ciąg binarny na heksadecymalny
- 14. Masz generator heksadecymalny "Nazwa" dla wypełnień?
- 15. Spring Security java.lang.IllegalArgumentException: Nie-heksadecymalny znak wejściowy
- 16. C++: wygeneruj drzewo wywołań funkcji
- 17. PKCS # 11 Wygeneruj klucz AES
- 18. Wygeneruj migrację - utwórz tabelę łączenia
- 19. Wygeneruj odpowiedź sposób w Eclipse
- 20. Wygeneruj obiekt JSON z transakcjąReceipt
- 21. Moduł losowy Pythona udostępniony niedostępny przez moduł losowy Numpy'ego
- 22. OpenCV - Losowy las Przykład
- 23. Losowy las jest overfitting
- 24. Losowy element mapie
- 25. Jak losowy wektor
- 26. losowy element w numpy
- 27. Proste 2D Losowy spacer
- 28. Numpy losowy wybór krotek
- 29. linq wybierz losowy wiersz
- 30. specjalny losowy numer
Czy ktoś mógłby to wyjaśnić (szczególnie "% 06x"? – Dorian
Metoda [% method] (http://ruby-doc.org/core-1.9.3/String.html#method-i-25) w String używa string jako specyfikacja formatu dla argumentu. "% 06x" oznacza: sformatuj liczbę jako szesnastkową, 6 znaków (w tym przypadku cyfry) szeroką, 0 wypełnioną. –